2

iPod ライブラリ内の曲のトラック番号を取得しようとしています。

基本的に、次のようにすべてのアルバムを照会しました。

NSArray *albums = [MPMediaQuery albumsQuery].collections;

アルバムを取得しました:

MPMediaItemCollection *album = self.albums[0];

曲を繰り返し、トラック番号を記録してみてください

for (MPMediaItem *mediaItem in self.album.items)
{
    NSLog(@"Track Number %@", [mediaItem valueForKey:MPMediaItemPropertyAlbumTrackCount]);
}

しかし、これは私に次のエラーを与えます

Terminating app due to uncaught exception 'NSUnknownKeyException', reason:
'[<MPConcreteMediaItem 0x1cd818d0> valueForUndefinedKey:]: this class is 
not key value coding-compliant for the key albumTrackCount.'

やなどの他のキーを試してみると、正常にMPMediaItemPropertyTitle動作します。にアクセスできない理由について、私が見逃しているものはありますか。MPMediaItemPropertyAlbumTitleMPMediaItemPropertyArtistMPMediaItemPropertyAlbumTrackCount

4

1 に答える 1

8

それがvalueForKey:エラーが発生した理由です。valueForProperty:次のように使用します。

NSLog(@"Track Number %@", [mediaItem valueForProperty:MPMediaItemPropertyAlbumTrackCount]);

MPMediaItem Class Referenceで、Apple は次のように述べています。

これらのプロパティ キーを使用して valueForProperty メソッドを呼び出すことにより、メディア アイテムのメタデータを取得します。

于 2013-03-19T12:25:30.703 に答える