1. 第一种方式:使用 FFmpeg 的 av_read_frame
特点
- 底层实现:基于 FFmpeg,这是一个强大的多媒体处理库,直接操作音频流。
- 灵活性:非常灵活,可以处理多种音频格式、编解码器和输入设备。
- 复杂性:需要手动管理音频流、数据包(
AVPacket
)、内存释放等,代码复杂度较高。 - 跨平台性:FFmpeg 是跨平台的,可以在 macOS、Linux、Windows 等多个平台上运行。
- 依赖性:需要集成 FFmpeg 库,并确保其正确配置。
优点
-
支持多种格式和编解码器:
- FFmpeg 支持几乎所有的音频格式(如 MP3、AAC、PCM 等)和编解码器。
- 可以直接录制为特定格式的音频文件,而无需额外