pcm编码为aac后播放变快且模糊

参考文章:https://ask.csdn.net/questions/747778

采集音频后直接播放PCM文件正常,但编码后的AAC文件播放变快且断断续续,是因为编码过程中有部分PCM数据丢失了。PCM格式为 flot32,44100,1声道,按正常音频帧大小应该是 1024 * 1 * 4 = 4096字节,将采集的pcm文件按此大小读取编码正常,然后打印发现每次采集传入的确实7056字节,也就是 7056 / 4 = 1764个采样点。按照音频帧大小计算方法,一秒数据大小为 44100 * 1 * 32 / 8 = 176400字节,然后 176400 / 7056 = 25,也就是说采集后的数据是以25帧/秒的速率传入的,所以每次传入的大小才是 7056 字节。而不是编码器需要的 1024 个采样点(4096)字节,所以编码后丢失了后面的 7056 - 4096 = 2960字节。

参考:https://www.cnblogs.com/leisure_chn/p/10584948.html 和 https://blog.csdn.net/lyy901135/article/details/103504007 可知,AAC编码器的输入音频帧大小是不可变的,只能是1024帧,所以要进行重采样或用FIFO队列。

posted @ 2020-10-17 11:37  姬无华  阅读(389)  评论(0编辑  收藏  举报