请告诉我如何使用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默认卡之外的其他东西。我找不到任何关于其他类型的音频接收器的文档。任何指导都将不胜感激。
发布于 2013-06-03 23:17:13
您将一个alsasink元素命名为cardname0,这对接收器确实没有影响。相反,您需要将接收器的device属性设置为cardname0。
例如:
alsa_card0.set_property("device", "cardname0")https://stackoverflow.com/questions/16899977
复制相似问题