讨论:为什么音频数据压缩为MP3,然后解压缩,得到的数据比最初的要多
试着用Lame_Enc库进行音频压缩。采样率44.1k,16位,双声道。设置缓冲区大小为可疑存放20分之一秒原始数据,为8820字节,这样可以做到每秒采集20段数据。取得每段数据后进行压缩,然后网络传送,减小缓冲区的目的是为了减小声音延迟。如果只是录音则没必要这样做。
为了测试压缩的结果,又用了mpg123库的解压缩函数,将压缩后的数据立即解开,然后调用waveOut系列函数播放,声音正常。但同时发现了一个问题,解开后的数据要比压缩前多一些,大概是9200多个字节。
这就产生了一个问题,8820个字节是20分之一秒内采集的,回放的时候所用的时间就会大于20分之一秒。经过一段时间后,网络对端听到的声音就会延迟的很厉害。
为甚么会出现这种情况?解开后的数据多了一些该怎样处理?