使用 MPMediaItems 播放歌曲时 MPMediaItemPropertyAssetURL 变为 null
Posted
技术标签:
【中文标题】使用 MPMediaItems 播放歌曲时 MPMediaItemPropertyAssetURL 变为 null【英文标题】:MPMediaItemPropertyAssetURL becomes null when Using MPMediaItems to play songs 【发布时间】:2012-02-28 05:57:01 【问题描述】:我正在实施一个与音乐相关的应用程序。在我的应用程序中,我需要使用 AVPlayer 而不是 MPMusicPlayer 来播放 iPod Library 歌曲。我使用 AVPlayer 来支持 MPMediaItems 的背景播放的 FadeIn 和 Fadeout 效果。我使用 MPMediaItemProperyAssetURL 从 MPMediaItem 获取 url 并将其作为输入提供给 AVPlayer,如下所示。我的问题是由于 URL 为空而无法播放某些项目。我发现从 iTunes 商店下载的歌曲(受 DRM 保护)无法播放,因为它们没有 MPMediaItemProperyAssetURL。请各位大神帮帮我,我该如何解决这些问题。我需要在 AVPlayer 中支持这些受 DRM 保护的歌曲。请查看我的以下代码以供参考,
MPMediaItem *currentItem = [songs objectAtIndex:songIndex];
NSURL *itemURL = [currentItem valueForProperty:MPMediaItemPropertyAssetURL];
currentlyPlayingItem=[itemURL absoluteString];
avPlayer = [[AVPlayer alloc] initWithURL:itemURL];
[avPlayer play];
提前致谢, 塞卡。
【问题讨论】:
【参考方案1】:很遗憾,没有将 DRM 文件加载到 AVPlayer 或任何 AV Foundation API 的机制。如果您可以说服您的用户使用 iTunes Plus 以每首 0.30 美元的价格升级他们的整个音乐库,那是唯一的方法。
【讨论】:
以上是关于使用 MPMediaItems 播放歌曲时 MPMediaItemPropertyAssetURL 变为 null的主要内容,如果未能解决你的问题,请参考以下文章
当我停止使用功能播放歌曲并更改导航栏索引时,颤动的音乐继续播放