音频开发之——pulseaudio
pulseaudio為一個audio service,如下图OSS sink表示输出音源部分,从PulseAudio要转到声音设备的介面。OSS source表示输入音源部分,任何需要进入到PulseAudio的声音,都会经由source介面。 pulseaudio服务软件架构,将来自各个不同的音源转到正确的窗口,针对不同的应用程式做音量的调整,接受多个音源的输入(source)或是输出(sink)。 pactl命令可以修改伺服器的设置以及配置,但pactl命令仅限于局限的范围。若要完整的功能,就必須要回归到最基本的指令pacmd,通过pacmd指令才可以完全的控制PulseAudio的服务核心。
pulseaudio常用命令—pacmd
pacmd --help(-h) 帮助命令,包含所有pacmd命令的用法 pacmd list-sinks 查看输入设备列表 pacmd list-sources 查看输入设备列表 pacmd set-default-sink name 设置默认输出设备 pacmd load-module module-pipe-sink file=/tmp/output format=s16le rate=44100 channels=2 (采样大小singed 16, 小端格式le,采样频率44100,声道数2) 加载虚拟输出设备,通过管道文件进行声音数据获取 pacmd load-module module-pipe-source file=/tmp/input format=s16le rate=44100 channels=2 加载虚拟输入设备,在音频录制时,向管道文件写入声音数据 pacmd unload-module module-pipe-sink 卸载加载的虚拟设备