美文网首页
iOS 从MP3中获取播放信息

iOS 从MP3中获取播放信息

作者: 丘名山 | 来源:发表于2018-08-06 10:18 被阅读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

    相关文章

      网友评论

          本文标题:iOS 从MP3中获取播放信息

          本文链接:https://www.haomeiwen.com/subject/hjjwvftx.html