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,MPMediaItemPropertyAlbumTitleMPMediaItemPropertyArtist工作正常。关于为什么我无法访问MPMediaItemPropertyAlbumTrackCount.

4

1 回答 1

8

您使用valueForKey:了这就是发生错误的原因。像这样使用valueForProperty:

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

MPMediaItem 类Referece Apple 说:

您可以通过使用这些属性键调用 valueForProperty 方法来获取媒体项的元数据。

于 2013-03-19T12:25:30.703 回答