0

デバイスの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];

コードは、アセットURLを取得するためにfirstItemでvalueForKeyを呼び出す行で、常に次の例外をスローします。

*キャッチされなかった例外'NSUnknownKeyException'が原因でアプリを終了しています。理由:'[valueForUndefinedKey:]:このクラスはキーassetURLのキー値コーディングに準拠していません。*最初のスローコールスタック:

コードは私にはかなり簡単に思えますが、ここで何が欠けているのかわかりません。どんな助けでも素晴らしいでしょう。これはiPhone4SのiOS5.1です。iTunes Matchを有効にして、ローカル音楽のみのデバイスで試してみましたが、同じ結果になりました。

4

1 に答える 1

2

代わりにvalueForProperty:メソッドを使用する必要があります。

于 2012-09-11T04:06:21.340 に答える