pulseaudio¶
pulseaudio 是一个跨平台的音频服务器。pulseaudio 像一个”声音服务器”,坐在应用程序和音频硬件之间,对流经其上的所有音频流进行控制和处理
提供高级的功能如:
- 声音路由
- 格式转换
- 声音混合
- 音量控制
pulseaudio 的主要功能是管理系统的声音服务器和多媒体应用间的通信。它通过以下方式工作:
1. pulseaudio 守护进程运行在后台,监听系统的声卡和音频事件
2. 当音频应用程序使用 ALSA 库生成声音时,该声音流会被自动导向到 pulseaudio
3. pulseaudio 根据默认设置或用户配置,对音频流进行处理并导向到适当的输出端口
4. pulseaudio 可以同时管理多个输入源和输出设备,进行音频流混合,格式转换等
pulseaudio 的架构具有以下主要优点:
- 统一多媒体框架:支持 Linux/Windows/macOS 等多个平台
- 高级功能:如音量控制、声音混合、路由等
- 可配置: pulseaudio 的行为可以通过配置文件进行精细控制
- 模块化:pulseaudio 由多个模块组成,可以根据需要启用各模块
- 兼容ALSA:pulseaudio 基于 ALSA,兼容 ALSA 应用
安装¶
安装方法:
- Ubuntu/Debian: sudo apt-get install pulseaudio
- Arch: sudo pacman -S pulseaudio
- MacOS: brew install pulseaudio
使用方法¶
配置 pulseaudio:
pulseaudio 的大多数行为可以通过配置文件控制。
主要的配置文件是:
- /etc/pulse/daemon.conf - 守护进程设置
- ~/.config/pulse/client.conf - 客户端设置
- /etc/pulse/default.pa - 模块加载和连接设置
使用 pactl 工具控制 pulseaudio:
pactl 是 pulseaudio 的控制工具。
常用命令如:
- pactl list cards - 列出声卡
- pactl list sinks - 列出播放设备
- pactl set-sink-volume 0 +5% - 增加第一个输出设备的音量
- pactl suspend-sink 1 - 暂停第二个输出设备
- pactl exit - 退出守护进程(需要 root 权限)