关于iOS从iPod取出来的音乐MPMediaItemPropertyAssetURL属性为空问题

本文详细介绍了苹果Music应用对数字版权加密保护的音乐的使用限制,包括无法通过第三方应用程序播放DRM保护的音乐,但可以播放本地未加密音乐。文章还提供了示例代码,说明如何在iOS应用中获取本地音乐信息,以及如何解决同步音乐的问题。

由于iPhone 自带的音乐软件Music的推出.从iPod取出来的音乐MPMediaItemPropertyAssetURL属性可能为空. 这是因为iPhone自带软件Music对音乐版权的保护,对于所有进行过 DRM Protection(数字版权加密保护)的音乐都不能被第三方APP获取并播放.即使这些音乐已经下载到本地.但是还是可以播放本地未进行过数字版权加密的音乐.也就是您自己手动导入的音乐.

示例代码如下:

- (void)getMusicList {

    MPMediaQuery *query = [MPMediaQuery songsQuery];

    NSArray *queryArry = [query items];

    for (MPMediaItem *item in queryArry) {

        NSURL *assetURL;

        if ([item valueForProperty:MPMediaItemPropertyAssetURL]) {

            assetURL = [item valueForProperty:MPMediaItemPropertyAssetURL];

        }

        if (assetURL) {

            Music *music = [[Music alloc] init];

            if (item.title.length) {

                music.musicName = item.title;

            }else {

                music.musicName = NSLocalizedString(@"MXMUSIC_MUSICINFO_MUSICNAME_DEFAULT", nil);

            }

            music.url = assetURL;

            if (item.artist.length) {

                music.artist = item.artist;

            }else {

                music.artist = NSLocalizedString(@"MXMUSIC_MUSICINFO_MUSICARTIST_DEFAULT", nil);

            }

            if (item.albumTitle.length) {

                music.albumTitle = item.albumTitle;

            }else {

                music.albumTitle = NSLocalizedString(@"MXMUSIC_MUSICINFO_MUSICALBUM_DEFAULT", nil);

            }

            [self.musicArray addObject:music];

        }

    }

   

}


可能有些朋友会发现手动导入音乐是iTunes的同步按钮没了.至于如何同步音乐,请看这里: http://blog.csdn.net/soindy/article/details/49468769


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值