使用MPMediaItems播放歌曲时,MPMediaItemPropertyAssetURL变为null

时间:2012-02-28 05:57:02

标签: ios4 avplayer mpmusicplayercontroller mpmediaitem

我正在实施与音乐相关的应用程序。在我的应用程序中,我需要使用AVPlayer而不是MPMusicPlayer来播放iPod库歌曲。我使用AVPlayer来支持MPMediaItems后台播放的FadeIn和Fadeout效果。我使用MPMediaItemProperyAssetURL从MPMediaItem获取url并将其作为输入提供给AVPlayer,如下所示。我的问题是由于null 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];

先谢谢, Sekhar。

1 个答案:

答案 0 :(得分:1)

令人遗憾的是,没有机制将DRM文件加载到AVPlayer或任何AV Foundation API中。如果您可以说服您的用户使用iTunes Plus以每首歌0.30美元升级他们的整个库,那么这是唯一的方法。