Record示例

源码路径:example/multimedia/audio/opus

支持的平台

  • eh-lb525

概述

本示例演示如何使用 Opus 音频编解码库进行录音、编码、解码和播放,包含:

  • 通过mic录音,从麦克风录制 16kHz 采样率的 PCM 音频数据

  • 编码:使用 Opus 编码器将 PCM 数据压缩(10ms 帧长,约 16kbps 比特率)

  • 解码:使用 Opus 解码器解压缩音频数据

  • 播放:将解码后的音频数据通过扬声器播放

例程的使用

硬件需求

运行该例程前,需要准备:

例程说明

​ 如果opus_test()函数中有opus_encoder_ctl(encoder, OPUS_SET_FORCE_MODE(MODE_SILK_ONLY));

则定义OPUS_STACK_SIZE为20k。

​ 如果opus_test()函数没有opus_encoder_ctl(encoder, OPUS_SET_FORCE_MODE(MODE_SILK_ONLY));

则定义OPUS_STACK_SIZE为200k。

编译和烧录

切换到例程project目录,运行scons命令执行编译:

scons –board=eh-lb525 -j32

切换到例程project/build_xx目录,运行uart_download.bat,按提示选择端口即可进行下载:

./uart_download.bat

Uart Download

please input the serial port num:5

关于编译、下载的详细步骤,请参考快速上手的相关介绍。

例程的预期结果

例程启动后: 自动运行:程序启动后自动录音10秒,编码解码后播放

手动命令:

  • opus : 录音10秒到 /mic16k.pcm,编码解码后播放

  • opus /mic16k.pcm : 从指定文件读取 PCM 数据,编码解码后播放

  • opus xxxxx : 如果文件不存在,实时录音并回环播放(边录边播)

异常诊断

参考文档

更新记录

版本

日期

发布说明

0.0.1

12/2025

初始版本