我可以就如何使用 python-gstreamer (pygst) 在 gstreamer 管道中指定输出声卡提出建议吗?
在 linux 系统上,我在/etc/asound.conf 中提供了声卡的名称,并且使用“aplay -D cardname0”从命令行测试成功
我曾希望 gstreamer 是为我用 python 编写的软件提供音频输出的最佳方式,但我需要能够选择要用于输出的声卡。
我在创建管道时尝试过的是:
self.player = gst.element_factory_make("playbin2", "player")
fakesink = gst.element_factory_make("fakesink", "fakesink")
alsa_card0 = gst.element_factory_make("alsasink", "cardname0")
self.player.set_property("video-sink", fakesink)
self.player.set_property("audio-sink", alsa_card0)
不过我发现“cardname0”这个名字与声卡的属性无关,只是一个无意义的字符串。查看 pygst 文档,我找不到定义 alsasink 的方法,以便它使用 alsa 默认卡以外的东西。我找不到任何关于可以使用的其他类型音频接收器的文档。任何指导将不胜感激。
最佳答案
您将 alsasink
元素命名为 cardname0
,这确实对接收器没有影响。
相反,您想设置 device
接收器的属性到 cardname0
。
例如。
alsa_card0.set_property("device", "cardname0")
关于python - 使用 python-gstreamer 指定声卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16899977/