iOS 从MP3中获取播放信息

2018-08-06  本文已影响0人  丘名山

.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

上一篇下一篇

猜你喜欢

热点阅读