您的位置:首页 > 其它

获取MP3和M4A音乐文件的歌曲信息以及专辑图片

2012-11-16 18:28 483 查看
NSBundle bundle = [NSBundle mainBundle];

NSString path = [bundle bundlePath];

NSURL fileURL=[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/akon、be - you - with.mp3", path]];

AudioFileTypeID fileTypeHint = kAudioFileMP3Type;

NSString fileExtension = [[fileURL path] pathExtension];

if ([fileExtension isEqual:@"mp3"]||[fileExtension isEqual:@"m4a"])

{

AudioFileID fileID = nil;

OSStatus err = noErr;

err = AudioFileOpenURL( (CFURLRef) fileURL, kAudioFileReadPermission, 0, &fileID );

if( err != noErr ) {

NSLog( @"AudioFileOpenURL failed" );

}

UInt32 id3DataSize = 0;

err = AudioFileGetPropertyInfo( fileID, kAudioFilePropertyID3Tag, &id3DataSize, NULL );

if( err != noErr ) {

NSLog( @"AudioFileGetPropertyInfo failed for ID3 tag" );

}

NSDictionary piDict = nil;

UInt32 piDataSize = sizeof( piDict );

err = AudioFileGetProperty( fileID, kAudioFilePropertyInfoDictionary, &piDataSize, &piDict );

if( err != noErr ) {

[piDict release];

NSLog( @"AudioFileGetProperty failed for property info dictionary" );

}

CFDataRef AlbumPic= nil;

UInt32 picDataSize = sizeof(picDataSize);

err =AudioFileGetProperty( fileID, kAudioFilePropertyAlbumArtwork, &picDataSize, &AlbumPic);

if( err != noErr ) {

NSLog( @"Get picture failed" );

}

NSData imagedata= (NSData)AlbumPic;

UIImage image=[[UIImage alloc]initWithData:imagedata];

imageView.image=image;

NSString Album = [(NSDictionary)piDict objectForKey:

[NSString stringWithUTF8String: kAFInfoDictionary_Album]];

NSString Artist = [(NSDictionary)piDict objectForKey:

[NSString stringWithUTF8String: kAFInfoDictionary_Artist]];

NSString Title = [(NSDictionary)piDict objectForKey:

[NSString stringWithUTF8String: kAFInfoDictionary_Title]];

NSLog(@"%@",Title);

NSLog(@"%@",Artist);

NSLog(@"%@",Album);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: