使用python gstreamer指定声卡
请告诉我如何使用python gstreamer(pygst)为gstreamer管道中的输出指定声卡 在linux系统上,我在/etc/asound.conf中提供了声卡的名称,并且通过'aplay-D cardname0'命令行测试成功 我曾希望gstreamer是为我正在用python编写的软件提供音频输出的最佳方式,但我需要能够选择要用于输出的声卡 我在创建管道时尝试的是:使用python gstreamer指定声卡,python,linux,gstreamer,Python,Linux,Gstreamer,请告诉我如何使用python gstreamer(pygst)为gstreamer管道中的输出指定声卡 在linux系统上,我在/etc/asound.conf中提供了声卡的名称,并且通过'aplay-D cardname0'命令行测试成功 我曾希望gstreamer是为我正在用python编写的软件提供音频输出的最佳方式,但我需要能够选择要用于输出的声卡 我在创建管道时尝试的是: self.player = gst.element_factory_make("playbin2", "p
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文档,我找不到一种方法来定义ALASINK,以便它使用alsa默认卡以外的内容。我找不到任何其他类型的音频接收器可以使用的文档。任何指导都将不胜感激。您正在命名一个
alsasink
元素cardname0
,这确实对接收器没有影响。
相反,您希望将接收器的属性设置为cardname0
例如
谢谢你的回答,这看起来正是我需要的。在我回到测试计算机前的几天内,我无法测试它。请查看
gst-inspect
以获取属性列表。您可以使用gst\u property\u probe
获取声音设备的列表(无法提供更多详细信息,我只在C代码中使用了它,不知道它在.py中是如何工作的)
alsa_card0.set_property("device", "cardname0")