aplay
aplay 是一个用来播放音频的工具。在调试时,我们通常先用 amixer 打通音频路径,然后用 aplay 播放音频。
常用选项:
-h, --help:显示帮助信息-l, --list-devices:列出所有声卡和数字音频设备-D, --device=NAME:选择指定的音频设备-r, --rate=#:设置采样率-c, --channels=#:设置声道数-f, --format=FORMAT:设置样本格式(如s16_le)--period-size=#:设置中断间隔帧数--buffer-size=#:设置缓冲区大小
示例:
bash
aplay -D hw:0,0 --period-size=1024 --buffer-size=4096 -r 48000 -c 2 -f s16_le /dev/zero1
这个命令通过声卡 0 播放 48kHz 采样率、双声道、16 位的静音数据。
arecord
arecord 用于录制音频,使用方法与 aplay 类似。
常用选项:
-h, --help:显示帮助信息-l, --list-devices:列出所有声卡和数字音频设备-D, --device=NAME:选择指定的音频设备-r, --rate=#:设置采样率-c, --channels=#:设置声道数-f, --format=FORMAT:设置样本格式(如s32_le)--period-size=#:设置中断间隔帧数--buffer-size=#:设置缓冲区大小
示例:
bash
arecord -D hw:0,0 --period-size=1024 --buffer-size=4096 -r 16000 -c 8 -f s32_le output.wav1
这个命令通过声卡 0 录制 16kHz 采样率、八声道、32 位的音频数据,并保存为 output.wav 文件。
amixer
amixer 用于配置音频参数,如音频流路由和音量控制。使用时需要参考具体的 codec 手册。
常用选项:
-h, --help:显示帮助信息-c, --card N:选择声卡-v, --version:显示版本信息-q, --quiet:静默模式
常用命令:
scontrols:显示所有简单的混音器控制scontents:显示所有简单混音器控制的内容sset sID P:设置某个简单混音器控制的内容sget sID:获取某个简单混音器控制的内容
aplay 和 arecord 的管道使用
aplay 和 arecord 可以通过管道实现环回功能,方便驱动调试和性能测试。
示例:
bash
arecord -D hw:0,0 --period-size=1024 --buffer-size=4096 -r 48000 -c 2 -f s16_le -t raw | aplay -D hw:1,0 --period-size=1024 --buffer-size=4096 -r 48000 -c 2 -f s16_le -t raw1
这个命令从声卡 0 录制音频并通过管道传递给声卡 1 进行播放。