# opus-example **Repository Path**: tinytaro/opus-example ## Basic Information - **Project Name**: opus-example - **Description**: opus示例代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-15 - **Last Updated**: 2025-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Opus 音频编解码示例程序 本项目是一个基于 Opus 编解码器和 ALSA 音频库的简单音频录制和播放示例程序。它可以录制音频并保存为 Opus 格式,然后播放录制的音频文件。 ## 项目结构 - `record.c` - 音频录制程序,将音频录制为 Opus 格式 - `play.c` - 音频播放程序,播放 Opus 格式音频文件 ## 功能说明 ### 录制程序 (record) - 使用 ALSA 库从默认音频输入设备录制音频 - 使用 Opus 编码器将音频数据编码为 Opus 格式 - 将录制的音频保存到 `record.opus` 文件中 - 支持通过 Ctrl+C 信号停止录制 ### 播放程序 (play) - 读取 `record.opus` 文件中的 Opus 格式音频数据 - 使用 Opus 解码器解码音频数据 - 通过 ALSA 库在默认音频输出设备播放音频 ## 编译要求 - C 编译器 (如 GCC) - CMake 3.10 或更高版本 - ALSA 开发库 - Opus 开发库 在 Ubuntu/Debian 系统上,可以通过以下命令安装依赖: ```bash sudo apt-get update sudo apt-get install build-essential cmake libasound2-dev libopus-dev ``` ## 构建项目 ```bash mkdir build cd build cmake .. make ``` 编译后会生成两个可执行文件: - `record` - 音频录制程序 - `play` - 音频播放程序 ## 使用方法 1. 录制音频: ```bash ./record ``` 录制过程中按 Ctrl+C 停止录制,音频将保存为 `record.opus` 文件。 2. 播放音频: ```bash ./play ``` 播放当前目录下的 `record.opus` 文件。 ## 技术细节 - 采样率:16000 Hz - 声道数:单声道 - 音频格式:16位有符号整数 - 编码格式:Opus - 音频库:ALSA (Advanced Linux Sound Architecture) ## 许可证 本项目为示例代码,可根据需要自由使用和修改。