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 权限)