zeerd's blog         Search     Categories     Tags     Feed

闲来生雅趣,无事乐逍遥。对窗相望雪,一盏茶香飘。

PulseAudio 中的 dev 如何确定

#PulseAudio @Program


Contents:

使用 Pulse Audio Simple 的 pa_simple_new() 接口时,如果不希望使用默认设备,则需要指定 dev 参数。

官方文档中,对此的描述是“ Sink (resp. source) name, or NULL for default ”。 新手很难根据这句话得到足够的启示。

确定这个 dev 字符串的方法如下:

对于播放设备( playback )来说, dev 的值可以通过如下命令查找:

pactl list short sinks

对于录音设备( record )来说, dev 的值可以通过如下命令查找:

pactl list short sources

上面两个命令结果中的第二列的字符串就是 dev 参数期望的字符串。

如,下列结果中:

0	alsa_output.pci-0000_00_1f.3.analog-stereo.monitor	module-alsa-card.c	s16le 2ch 44100Hz	SUSPENDED
1	alsa_output.platform-snd_aloop.0.analog-stereo.monitor	module-alsa-card.c	s16le 2ch 44100Hz	SUSPENDED
2	alsa_input.platform-snd_aloop.0.analog-stereo	module-alsa-card.c	s16le 2ch 44100Hz	SUSPENDED

如果要使用“ snd-aloop ” 虚拟出来的设备,则 “ alsa_input.platform-snd_aloop.0.analog-stereo ”就是需要赋值给 dev 的字符串。

去掉命令中的“ short ”,可以看到更多信息。便于寻找合适的设备。