在 MP3 文件中查找 main_data_begin

Finding main_data_begin in a MP3 file

我想解码 MP3 文件。我设法在 header 中找到了 32 位(同步字、ID、层、比特率等)。问题是我不知道如何找到 main_data_begin (辅助信息)的开始(位置)。我在这种情况下使用 MATLAB。

我知道这可能是一个简单的问题,但我真的需要你的帮助。请。 谢谢。

MPEG1/2 第三层使用 main_data_begin 作为颗粒 headers 和数据上的一种 pseudo-VBR。最简单的方法是实现一个循环缓冲区,在开始之前接收边信息之后的所有物理帧数据和缓冲区开头的 throws-away 未使用字节(如 main_data_begin 所示)帧解码。

最好的办法是阅读现有解码器的源代码。该规范对此也非常有用,但是 main_data_begin 在 publicly-available 版本中是 mis-documented(尽我所能)。