AUDIO
本节介绍在树莓派上如何使用 GPIO 驱动音频功能,为后续项目开发奠定基础。
AUDIO 操作
查看音频设备
危险
上电前必须连接好模块才可正常识别到设备
- 查看当前识别到的音频播放设备
aplay -l

音频播放
- 播放 test.wav 文件的音频(使用对应的设备,这里识别到的音频设备是第 2 号硬件声卡),请保证当前目录存在 test.wav 文件
aplay -D plughw:2 test.wav
- 此时喇叭或耳机会播放出对应音频
alsamixer音频配置
alsamixer图形化配置
- 打开 alsamixer 音频配置工具
sudo alsamixer
- 如果声卡没有设置为默认声卡则需要按 F6 选择声卡设备。

- 使用键盘左右选择功能,上下调节对应音量
- 使用快捷指令配置,下载相关配置文件
- 在终端进入下载的文件路径后,选择执行以下某条相关指令,加载某个提供的
.state快照sudo alsactl restore -f ./All-input-output.state # 启用所有输入输出接口sudo alsactl restore -f ./Headphone-input-output.state # 启用 TRRS 耳机输入输出,禁用其他接口sudo alsactl restore -f ./OnBoard-MIC1-input.state # 启用板载的麦克风 1,禁用其他接口sudo alsactl restore -f ./OnBoard-MIC2-input.state # 启用板载的麦克风 2,禁用其他接口sudo alsactl restore -f ./Dual-speaker-output.state # 启用双声道喇叭接口,禁用其他接口 - 执行完以下功能即可使用相应接口,以下错误日志为正常现象

- 打开 alsamixer 音频配置工具,按 F6 选择声卡设备,可查看快照配置的内容
sudo alsamixer

基于提供的快照快捷合成多接口快照
注意
合并工具仅供简单使用,部分功能不能简单通过合并操作实现
- 下载相关配置文件,配置文件中包含合并多个快照的 python 程序,可自行配置需要启用的接口
- 生成同时启用板载麦克风 1 和耳机的
.state快照python3 merge_alsa_states.py -o merged1.state OnBoard-MIC1-input.state Headphone-input-output.state - 生成同时启用单声道喇叭接口(绿端子)和双声道喇叭接口 的
.state快照python3 merge_alsa_states.py -o merged2.state Dual-speaker-output.state Single-speaker-output.state - 生成同时启用板上所有接口的
.state快照python3 merge_alsa_states.py -o merged.state Aux-input.state Headphone-input-output.state OnBoard-MIC1-input.state OnBoard-MIC2-input.state Dual-speaker-output.state Single-speaker-output.state - 指令分析
python3 merge_alsa_states.py -o merged1.state OnBoard-MIC1-input.state Headphone-input-output.state-o 后面为合成的快照名称,名称自定义,后缀为 `.state` 即可在自定义合成的快照名称后面跟随上需要合并的快照,不局限于2个,可以是多个,不过需要保证当前文件夹下存在此快照

播放mp3
- aplay 只支持 wav 的音乐,实际上 MP3 格式的音乐会更加多,安装 mpg123 播放工具
sudo apt-get install mpg123
- 播放 music.mp3 文件的音频,请保证当前目录存在 music.mp3 文件
sudo mpg123 music.mp3
图形化配置
- 安装图形化音频控制工具 smplayer
sudo apt-get install smplayer
- 在界面中右键选择 IOaudIODAC 为默认
