我想解码一个MP3文件。我设法在标题中找到32位(同步字,ID,层,比特率等)。问题是我不知道如何找到main_data_begin(边信息)的起始位置。我在这种情况下使用MATLAB。
我知道这可能是一个简单的问题,但我真的需要你的帮助。请。 谢谢。
答案 0 :(得分:0)
MPEG1 / 2 Layer III使用main_data_begin作为粒子标题上的一种伪VBR&数据。最简单的方法是实现一个循环缓冲区,它接收辅助信息之后的所有物理帧数据,并在开始帧解码之前抛弃缓冲区开头的未使用字节(如main_data_begin所示)。
您最好的选择是阅读现有解码器的来源。规范对此也非常有用,但main_data_begin在公开版本中被错误记录(尽我所能找到)。