Windows Gstreamer的ALSA替代品?

2 投票
4 回答
2502 浏览
提问于 2025-04-16 11:17

有没有人知道在Windows上可以用的ALSA替代品,能和gstreamer一起使用?还有怎么安装它,如果需要的话,在哪里能找到它的Python绑定?谢谢!xxx

4 个回答

0

看起来在Windows系统上,SDK安装程序并没有把绑定文件安装到Python解释器能看到的地方。你可以在 sdk\bindings\python\v2.6\lib\site-packages 找到这些文件。把这个文件夹里的内容复制到你Python安装目录下的 site-packages 文件夹里,这样你就可以导入这个库了。

1

不确定这个问题现在是否还适用,但我今天遇到了完全一样的问题。我通过使用“autoaudiosink”解决了这个问题。

这样,我在下面的网站上找到了一个简单的例子,并且在Windows XP上成功运行了它。

http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python/

这是我修改后的代码版本(基本上和原来的代码一样,只是替换了alsasink)。

#!/usr/bin/python

import pygst
pygst.require("0.10")
import gst
import pygtk
import gtk

class Main:
    def __init__(self):
        self.pipeline = gst.Pipeline("mypipeline")

        self.audiotestsrc = gst.element_factory_make("audiotestsrc", "audio")
        self.pipeline.add(self.audiotestsrc)

        self.sink = gst.element_factory_make("autoaudiosink", "sink")
        self.pipeline.add(self.sink)

        self.audiotestsrc.link(self.sink)

        self.pipeline.set_state(gst.STATE_PLAYING)

start=Main()
gtk.main()

希望这对你有帮助。

3

SDL在不同平台上处理声音的方式做得还不错,它能让你不必担心具体的操作系统。PyGame是一个使用了SDL的库,可以在很多平台上运行。虽然这种抽象方式有一些限制,但也许对你来说还是够用的。

改编自一条评论。

撰写回答