获取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);
}
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);
}
相关文章推荐
- 获取MP3和M4A音乐文件的歌曲信息以及专辑图片--备用
- 获取MP3和M4A音乐文件的歌曲信息以及专辑图片
- 获取本地音乐文件的专辑,图片,音乐信息
- 【ASP.NET 进阶】获取MP3文件信息并显示专辑图片
- Java获取音乐文件艺术家,歌曲名,所属专辑等信息
- android获取MP3文件的歌曲信息
- jaudiotagger获取MP3文件信息及封面图片
- iOS - 音乐播放器需要获取音乐文件的一些数据信息(封装获取封面图片的类)
- android 获取音乐文件的内置专辑图片
- 如何从mp3,wma等音频文件中获取歌曲信息
- C#读取歌曲列表获取单个音乐文件信息
- android 获取音乐文件的内置专辑图片
- 给MP3音乐文件写ID3信息和专辑封面
- 获取音频文件的ID3信息,歌手,专辑,专辑图片等信息
- android获取音乐文件的内置专辑图片实现思路及代码
- 获取MP3歌曲信息 歌曲名 歌手名 专辑等
- 实现php获取mp3文件元信息如播放时间歌曲作者等
- 用java获取歌曲文件的专辑封面元信息
- android 完美获取音乐文件中的专辑图片并显示
- Android获取的MP3音乐的专辑封面图片