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

播放 test.wav 文件的音频(使用对应的设备,这里识别到的音频设备是第 2 号硬件声卡),请保证当前目录存在 test.wav 文件
aplay -D plughw:2 test.wav
此时喇叭或耳机会播放出对应音频
打开 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 merged.state Headphone-input-output.state OnBoard-MIC1-input.state OnBoard-MIC2-input.state Dual-speaker-output.state
指令分析
python3 merge_alsa_states.py -o merged1.state OnBoard-MIC1-input.state Headphone-input-output.state
-o 后面为合成的快照名称,名称自定义,后缀为 .state 即可
aplay 只支持 wav 的音乐,实际上 MP3 格式的音乐会更加多,安装 mpg123 播放工具
sudo apt-get install mpg123
播放 music.mp3 文件的音频,请保证当前目录存在 music.mp3 文件
sudo mpg123 music.mp3
安装图形化音频控制工具 smplayer
sudo apt-get install smplayer
在界面中右键选择 IOaudIODAC 为默认


周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841
