跳到主要内容

AUDIO

本节介绍在树莓派上如何使用 GPIO 驱动音频功能,为后续项目开发奠定基础。

AUDIO 操作

查看音频设备

危险

上电前必须连接好模块才可正常识别到设备

  • 查看当前识别到的音频播放设备
    aplay -l
    查询当前音频设备

音频播放

  • 播放 test.wav 文件的音频(使用对应的设备,这里识别到的音频设备是第 2 号硬件声卡),请保证当前目录存在 test.wav 文件
    aplay -D plughw:2 test.wav
  • 此时喇叭或耳机会播放出对应音频

alsamixer音频配置

alsamixer图形化配置

  • 打开 alsamixer 音频配置工具
    sudo alsamixer
  • 如果声卡没有设置为默认声卡则需要按 F6 选择声卡设备。 使用alsamixer配置音频设备
  • 使用键盘左右选择功能,上下调节对应音量
  • 使用快捷指令配置,下载相关配置文件
  • 在终端进入下载的文件路径后,选择执行以下某条相关指令,加载某个提供的 .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
    使用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 为默认

    Smplayer 实现音频配置 Smplayer 实现音频配置