Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python gstreamer指定声卡_Python_Linux_Gstreamer - Fatal编程技术网

使用python gstreamer指定声卡

使用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

请告诉我如何使用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文档,我找不到一种方法来定义ALASINK,以便它使用alsa默认卡以外的内容。我找不到任何其他类型的音频接收器可以使用的文档。任何指导都将不胜感激。

您正在命名一个
alsasink
元素
cardname0
,这确实对接收器没有影响。 相反,您希望将接收器的属性设置为
cardname0

例如


谢谢你的回答,这看起来正是我需要的。在我回到测试计算机前的几天内,我无法测试它。请查看
gst-inspect
以获取属性列表。您可以使用
gst\u property\u probe
获取声音设备的列表(无法提供更多详细信息,我只在C代码中使用了它,不知道它在.py中是如何工作的)
alsa_card0.set_property("device", "cardname0")