音频开发之——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   卸载加载的虚拟设备
经验分享 程序员 微信小程序 职场和发展