无法使用iPod音乐初始化AVPlayer

时间:2012-09-11 01:01:50

标签: iphone ios avplayer mpmediaitem

我正在尝试使用设备iPod库中的歌曲内容初始化AVPlayer。我在根控制器的viewDidLoad中有以下代码(将其解压缩到测试应用程序中以隔离它)。

MPMediaQuery* query = [MPMediaQuery songsQuery];

MPMediaItem* firstItem = [query.items objectAtIndex:0];
NSURL* url = [firstItem valueForKey:MPMediaItemPropertyAssetURL];
AVPlayerItem* playerItem = [[AVPlayerItem alloc] initWithURL:url];

self.player = [[AVPlayer alloc] initWithPlayerItem:playerItem];
[self.player play];

代码总是在我调用firstItem上的valueForKey的行中抛出以下异常,以获取资产URL。:

  

*由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[valueForUndefinedKey:]:此类不是密钥assetsURL的密钥值编码兼容。   * 首先抛出调用堆栈:

代码对我来说非常简单,不知道我在这里可能会缺少什么,任何帮助都会很棒。这是iPhone 4S上的iOS 5.1。尝试启用iTunes Match和只有本地音乐的设备,结果相同。

1 个答案:

答案 0 :(得分:2)

您需要使用valueForProperty:方法。