附上我代码地址:https://github.com/HZhenF/ClipMP3File.git
MP3文件里面除了音乐数据之外,还包括专辑、歌手、歌名等信息。
这些信息存放在org.id3固定格式里面:
ID3,一般是位于一个mp3文件的开头或末尾的若干字节内,附加了关于该mp3的歌手,标题,专辑名称,年代,风格等信息,该信息就被称为ID3信息,ID3信息分为两个版本,v1和v2版。
其中:v1版的ID3在mp3文件的末尾128字节,以TAG三个字符开头,后面跟上歌曲信息。
v2版一般位于mp3的开头,可以存储歌词,该专辑的图片等大容量的信息。
如何获取这些信息:
NSArray *mp3Array = [NSBundle pathsForResourcesOfType:@"mp3" inDirectory:[[NSBundle mainBundle] resourcePath]];
for (NSString *filePath in mp3Array) {
NSURL *url = [NSURL fileURLWithPath:filePath];
//实例化音乐播放控件
self.musicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
self.musicPlayer.delegate = self;
//准备(缓冲)播放
[self.musicPlayer prepareToPlay];
AVURLAsset *mp3Asset = [AVURLAsset URLAssetWithURL:url options:nil];
for (NSString *format in [mp3Asset availableMetadataFormats]) {
for (AVMetadataItem *metadataItem in [mp3Asset metadataForFormat:format]) {
if ([metadataItem.commonKey isEqual:@"artwork"]) {
//提取图片
// NSString *mime = [(NSDictionary *)metadataItem.value objectForKey:@"MIME"];
// NSData *data = [(NSDictionary *)metadataItem.v