使用 gst-launch alsasrc 时设置设备

ske*_*rit 4 linux pulse-audio alsa gstreamer ubuntu

作为我的 Sphinx 设置的一部分,我听我的输入设备是这样的:

gst-launch alsasrc
Run Code Online (Sandbox Code Playgroud)

(嗯,实际的命令是这样的:alsasrc ! audioconvert ! audioresample ! vader name=vad auto-threshold=true ! pocketsphinx name=asr ! fakesink,但只有第一点我遇到了问题。)

这有效,它加载到默认声卡中。我也可以通过这个选项:

gst-launch alsasrc device="default"
Run Code Online (Sandbox Code Playgroud)

这基本上是一样的。

但是当我尝试将它传递给任何其他输入设备时,例如:

gst-launch alsasrc device="USB Device 0x46d:0x8d7"
Run Code Online (Sandbox Code Playgroud)

它抱怨设备不存在。

现在,在gst-inspect alsasrc文档中,它说:

 device              : ALSA device, as defined in an asound configuration file
                       flags: leesbaar, schrijfbaar
                       String. Default: "default"
Run Code Online (Sandbox Code Playgroud)

我的印象是大多数pulseaudio安装不再使用这些配置文件。

那么,我该怎么做才能选择我的输入设备呢?既然pulseaudio是常态,alsasrc是否甚至可能完全被弃用?

ske*_*rit 5

啊,设备符号不是 alsamixer 中的实际名称,而是像这样:

gst-launch alsasrc device=hw:1
Run Code Online (Sandbox Code Playgroud)