如何以编程方式确定MP3文件是CBR还是VBR? (最好使用c#)

时间:2008-10-13 00:44:27

标签: c# mp3

我知道许多实用程序可以告诉我MP3文件的比特率,但我从未见过能告诉我MP3文件是否为VBR(可变比特率 - 比特率在文件中波动的实用程序) )或CBR(恒定比特率 - 比特率在文件中保持不变)。我的猜测是,大多数程序都没有兴趣找到它,因为它涉及分析文件,看看比特率是否改变,这会带走速度。

所以,我不想找一个实用程序,而是想写一个 - 所以我怎么能以编程方式确定MP3文件是VBR还是CBR?我有大约15,000个文件要找到它,所以我需要自动化这个过程。

2 个答案:

答案 0 :(得分:7)

MP3文件基本上是所谓的帧的构建。每个帧都有一个小标题,用于存储有关帧的信息。标题还存储用于帧的比特率。在CBR文件中,所有帧使用相同的比特率,因此每个报头都具有相同的比特率信息。

要检测文件是否使用VBR,您必须遍历文件的每一帧,查看标题并检查比特率字段是否更改。如果是的话,它是一个VBR MP3。

有关MP3格式的完整说明,请访问:http://www.mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm

答案 1 :(得分:2)

检查这个MP3Header Class,它有一个方法告诉你mp3文件是否是VBR,以及所有mp3标题信息......

...
boolVBitRate = LoadVBRHeader(bytVBitRate);
...
相关问题