如何从原始数据中剥离MP3标签(ID3v1, ID3v2)

本文关键字:ID3v1 ID3v2 标签 MP3 原始数据 剥离 | 更新日期: 2023-09-27 18:14:33

我希望从mp3 byte[]中剥离所有元数据(标签),只留下音频数据。

  1. 是否有一个现有的库能够做到这一点?(如果有,可以举个例子)
  2. 如果!第1步,是否有一个很好的例子,有人手动做这个(一个片段将是伟大的,任何语言)?

如何从原始数据中剥离MP3标签(ID3v1, ID3v2)

试着看看下面的库,也许会对你有所帮助

http://www.novell.com/products/linuxpackages/opensuse11.1/taglib-sharp.html

https://github.com/mono/taglib-sharp

在google上再搜索一下,我找到了这个代码片段:

    // Get the ID3 tag size and flags; see 3.1
    int tagsize = (headerbuf[9] & 0xFF) | ((headerbuf[8] & 0xFF) << 7 ) | ((headerbuf[7] & 0xFF) << 14 ) | ((headerbuf[6] & 0xFF) << 21 ) + 10;
    boolean has_extended_hdr = (headerbuf[5] & 0x40) != 0 ? true : false;
    // Read the extended header length and skip it
    if ( has_extended_hdr )
    {
        int headersize = file.read() << 21 | file.read() << 14 | file.read() << 7 | file.read(); 
        file.skipBytes( headersize - 4 );
    }

来源:http://www.ulduzsoft.com/2012/07/parsing-id3v2-tags-in-the-mp3-files/