音频应用¶
应用程序可通过 ALSA PCM 接口访问 V3S Codec。Buildroot 生成的 sysroot 已包含 ALSA 头文件和库。
编译示例¶
资料包中的 projects/audio-capture 示例将麦克风数据保存为 16 位单声道原始 PCM。
cd ~/v3s-workspace/projects/audio-capture
export BUILDROOT_OUTPUT="$HOME/v3s-workspace/buildroot-2023.02.3/output"
make
手工链接 ALSA 的核心命令为:
export PATH="$BUILDROOT_OUTPUT/host/bin:$PATH"
export SYSROOT="$BUILDROOT_OUTPUT/host/arm-buildroot-linux-gnueabihf/sysroot"
arm-linux-gnueabihf-gcc --sysroot="$SYSROOT" \
-O2 -Wall -Wextra src/audio_capture.c -lasound -o audio_capture
运行¶
scp audio_capture root@<开发板IP>:/root/
ssh root@<开发板IP>
先打开麦克风采集通道:
amixer set Mic1 cap
amixer set 'Mic1 Boost' 4
amixer set 'ADC Gain' 3
录制 5 秒:
/root/audio_capture /tmp/capture.raw 5
按录制参数播放:
aplay -D hw:0,0 -f S16_LE -c 1 -r 8000 /tmp/capture.raw
PCM 参数¶
示例使用:
| 参数 | 数值 |
|---|---|
| 设备 | hw:0,0 |
| 格式 | Signed 16-bit Little Endian |
| 通道 | 1 |
| 采样率 | 8000Hz |
应用与 aplay/arecord 必须使用一致的格式、通道数和采样率。更改参数后应同时调整数据处理和播放命令。