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

aplay -D plughw:2 test.wav
sudo alsamixer

.state 快照sudo alsactl restore -f ./All-input-output.state # 启用所有输入输出接口
sudo alsactl restore -f ./Aux-input.state # 启用 3.5mm AUX 接口,禁用其他接口
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 ./Single-speaker-output.state # 启用绿端子喇叭接口,禁用其他接口
sudo alsactl restore -f ./Dual-speaker-output.state # 启用双声道喇叭接口,禁用其他接口

sudo alsamixer

合并工具仅供简单使用,部分功能不能简单通过合并操作实现
.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个,可以是多个,不过需要保证当前文件夹下存在此快照

sudo apt-get install mpg123
sudo mpg123 music.mp3
sudo apt-get install smplayer
