繁体   English   中英

用python-gstreamer指定声卡

[英]specify soundcard with python-gstreamer

请问关于如何使用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")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM