(五)用JAVA编写MP3解码器——解析文件信息

本文介绍如何使用JAVA解析MP3文件的ID3 V1标签信息,包括标题、艺术家、专辑名等,并讨论了ID3 V2和APE标签的解析。通过JAVA的字符集转换,实现了解析ID3 V2的简洁代码。程序通过IRandomAccess接口后台解析网络文件的标签,并提供了相关API文档。
摘要由CSDN通过智能技术生成

      前文提到解析MP3标签,程序源码中也已经出现了调用解析MP3标签、打印MP3文件信息的功能,这儿先说说MP3文件信息的解析。

      解析MP3的文件信息对MP3解码器来说只是一个附加功能,如果不加入这部分源码,同时删除掉前文源码中的相关调用,不影响解码播放。如果你想编写“迷你”型的MP3解码器,可以忽略这些附加的功能。

      MP3的标签信息位于文件开始处或结尾处,用于表达MP3文件的相关信息,常见的有ID3、APE等。

 

      ID3 V1 位于文件最后的128字节,如果读取的是网络文件而服务器又不支持随机读取的话,意味着不对对其解析这部分信息。这128字节共表示7个信息:

[0..2]       3  bytes: ID3 v1标识 -- 'TAG'
[3..32]     30 bytes: 标题
[33..62]   30 bytes: 艺术家
[63..92]   30 bytes: 专辑名
[93..96]   4  bytes: 发行年份
[97..126] 30 bytes: v1.0 -- 注释/附加/备注信息
         v1.1 -- 前29 bytes注释/附加/备注信息,最后1 byte音轨信息

[127]       1  byte : 流派

      从“标题”开始,每部分内容之间用'\0'(字符串结束标志)或'\20'(空格)隔开。

 

      ID3 V2 表示的信息更丰富,结构更复杂,位于文件开始处或位于APE标签之后。ID3 V2的详细内容请参见http://www.id3.org/id3v2.3.0

      APE V1 & V2 位于文件开始处或ID3 V2之后。详细内容请参见http://cn.bing.com/reference/semhtml/APE_tag (External links下的链接就是APE V2)。有很多MP3的标签信息很混乱,内容重复。由于APE标签出现并在MP3中大量应用得比ID3晚,MP3文件的“有利”位置都被ID3占用,所以APE标签位于文件中的位置让人捉摸不透,情况很复杂,对网络文件来说,判断APE标签的位置要反复在文件中定位,况且有的服务器根本就不支持随机访问,所以我这儿就放弃了对APE的解析,尽管APE的解析过程并不复杂。

 

       本文只解析ID3 V1的具有的那几项简单的内容,JAVA的字符集转换很方

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值