目录
一、它到底是什么
二、全函数逐一拆解
1. 创建 / 销毁
av_audio_fifo_alloc
av_audio_fifo_free
2. 容量管理
av_audio_fifo_realloc
3. 写入 / 读取(最核心)
av_audio_fifo_write
av_audio_fifo_read
av_audio_fifo_peek
av_audio_fifo_peek_at
4. 丢弃 / 清空
av_audio_fifo_drain
av_audio_fifo_reset
5. 状态查询
av_audio_fifo_size
av_audio_fifo_space
三、麦克风录音 + Audio FIFO + AAC 编码 标准骨架
四、高频坑点
五、一句话速记表
六、总结
觉得有用,就请您帮忙点赞转发收藏吧,您的鼓励是我创作的动力,多谢看官。
由于能力水平有限,文中的错误或不严谨的地方在所难免,还请批评指正。
摘要:AVAudioFifo是 FFmpeg 提供的采样级、多声道平面/交错感知音频 FIFO;alloc按每声道采样数固定格式与声道,write自动扩容并必返回写入量,read/peek/peek_at负责消费或预览,drain/reset清数据,size/space查状态,realloc/free管容量与生命周期。麦克风录音中:采集→重采样→write→while(size>=frame_size){read→encode}→静音补齐→flush,是解决"采集块≠编码器帧"的标准范式。
一、它到底是什么
AVAudioFifo是按"每声道采样点"组织、而非按字节的先进先出音频缓冲队列。
操作单位是样本(sample),不是 byte,不用自己