我正在尝试用设备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:]:此类不符合密钥assetURL的键值编码。"*首次抛出调用堆栈:
代码对我来说似乎很直接,不确定我在这里可能遗漏了什么,任何帮助都会很棒。这是iPhone 4S上的iOS 5.1。在启用iTunes Match和只播放本地音乐的设备上进行了尝试,结果相同。
您需要使用valueForProperty:方法。