iOS 从MP3中获取播放信息
.h文件
#import
#import
#import
#import
@interfaceMusicMessage : NSObject
/**图片*/
@property(nonatomic,strong) UIImage *image;
/**歌曲名*/
@property(nonatomic,strong) NSString *songName;
/**歌手*/
@property(nonatomic,strong) NSString *artist;
/**专辑名称*/
@property(nonatomic,strong) NSString *albumName;
/**
初始化歌曲的信息,包括歌曲的图片、歌曲名、歌手、专辑名称信息
@param url 歌曲的url路径
@return 初始化好的对象
*/
+(MusicMessage *)AssetModelWithURL:(NSURL *)url;
-(MusicMessage *)initAssetWithURL:(NSURL *)url;
@end
.m文件
#import "MusicMessage.h"
@implementation MusicMessage
+(MusicMessage *)AssetModelWithURL:(NSURL *)url
{
return[[selfalloc] initAssetWithURL:url];
}
-(MusicMessage *)initAssetWithURL:(NSURL *)url
{
NSString *path =[ [NSBundle mainBundle] pathForResource:@"avengers"ofType:@"mp3"];
NSURL *fileURL = [NSURL fileURLWithPath:path];
AVURLAsset *mp3Asset = [AVURLAsset URLAssetWithURL:fileURL options:nil];
for(NSString *formatin[mp3Asset availableMetadataFormats]) {
for(AVMetadataItem *metadataItemin[mp3Asset metadataForFormat:format]) {
if([metadataItem.commonKey isEqual:@"artwork"]) {
//提取图片
self.image = [UIImage imageWithData:(NSData *)metadataItem.value];
}
elseif([metadataItem.commonKey isEqualToString:@"title"])
{
//提取歌曲名
self.songName = (NSString *)metadataItem.value;
}
elseif([metadataItem.commonKey isEqualToString:@"artist"])
{
//提取歌手
self.artist = (NSString *)metadataItem.value;
}
elseif([metadataItem.commonKey isEqualToString:@"albumName"])
{
//提取专辑名称
self.albumName = (NSString *)metadataItem.value;
}
}
}
return self;
}
@end