1

iOSでiTunesライブラリを取得しようとしています。そして、5 日間で再生回数トップ 10 の曲を取得しようとしています。

どうすればよいか教えていただけますか?これが私のコードです。MPMediaPropertyPredicate は正解ではありません...私は推測します。

MPMediaQuery *everything = [[MPMediaQuery alloc] init];
NSLog(@"Logging items from a generic query...");
NSArray *itemsFromGenericQuery = [everything items];
for (MPMediaItem *song in itemsFromGenericQuery) {
    NSString *songTitle = [song valueForProperty: MPMediaItemPropertyTitle];
    NSString *artistName = [song valueForProperty:MPMediaItemPropertyArtist];
    NSString *lastPlayeddate = [song valueForProperty:MPMediaItemPropertyLastPlayedDate];
    NSString *playCount = [song valueForProperty:MPMediaItemPropertyPlayCount];

    NSLog (@"%@", songTitle);
    text.text = [NSString stringWithFormat:@"%@\n%@ %@ %@ %@", text.text, songTitle, artistName, lastPlayeddate, playCount];
}

ではごきげんよう。

4

1 に答える 1

0

どうやら、再生回数は「ユーザー定義」キーと見なされるため、MPMediaPropertyPredicate

http://developer.apple.com/library/ios/documentation/mediaplayer/reference/MPMediaItem_ClassReference/Reference/Reference.html#//apple_ref/doc/uid/TP40008211-CH1-SW38を参照してください

曲を繰り返し、これらのプロパティを手動で取得する必要があります。

enumerateValuesForProperties:usingBlock:ここでおそらく最も効率的なオプションです。 http://developer.apple.com/library/ios/documentation/mediaplayer/reference/MPMediaEntity_ClassReference/Reference/Reference.html#//apple_ref/occ/instm/MPMediaEntity/enumerateValuesForProperties:usingBlock

于 2013-01-15T01:16:49.303 に答える