耳机播放功能
本章节将讲解在 100ask-RK3568 开发板上如何使用耳机播放功能。
准备工作
硬件:
- TypeC线 x1
- TTL转串口模块 x1
- 12v电源适配器
- 插孔式耳机 X1
软件:
- 软件:终端工具 MobaXterm
连接开发板
执行后面操作前,需要连接好开发板。如果不清楚如何连接开发板登录串口终端和使用ADB,可以先阅读《启动开发板》章节。基础连接之后,还需要接上一根插孔式耳机,连接图如下:
前言
一个音频文件是如何从开发板到耳机,再从耳机播放出去?
简单来讲解一下:音频文件(如 xxx.wav
)在开发板上存储为数字化音频数据文件。通过系统中的音频播放器(如 aplay
),音频文件被解码为可播放的 PCM(脉冲编码调制)格式。解码后的 PCM 音频数据传输到音频驱动程序,再由驱动程序传递到声卡。声卡接收 PCM 数据后,通过内部的数模转换器 (DAC) 将数字信号转换为模拟信号。这些模拟信号再经过耳机插孔输出至耳机,使音频通过耳机实现高保真播放。
查看声卡设备
开发板可能存在多个声卡设备,后面操作涉及声卡选择。执行以下指令,可查询列出所有声卡及其设备信息,
aplay -l
card 0: rockchip,rk809-codec
- 描述:
fe410000.i2s-rk817-hifi rk817-hifi-0
- 这是开发板音频接口,通常用于耳机或扬声器输出。
- 可以通过
card 0
来播放音频文件。
card 1: rockchip,hdmi
- 描述:
rockchip,hdmi i2s-hifi-0
- 这是 HDMI 音频接口,如果通过 HDMI 输出音频,可以使用这个声卡。
配置声卡设备
列出声卡所有控制器
在开发板上,可以使用 amixer
工具列出声卡上的几个控制器。
#"-c 0" 指定 card0
root@RK356X:/# amixer controls -c 0
numid=1,iface=CARD,name='Headphones Jack'
numid=3,iface=MIXER,name='Capture MIC Path'
numid=2,iface=MIXER,name='Playback Path'
每个控制器有一个 numid
(编号)和名称,描述了该声卡的特定控制功能:
Headphones Jack(numid=1)
- 这个控制项表示耳机插孔的音频输出设置,通常用于控制耳机插孔是否启用或禁用。
Capture MIC Path(numid=3)
- 这是用于麦克风输入的控制项,表示录音或声音捕获路径的配置。
Playback Path(numid=2)
- 这是音频回放路径的控制项,用于选择或调整播放的音频输出路径,比如耳机、扬声器等。