1

デバイス上のすべての曲で満たされた「曲」 NSMutableArray があります。

    MPMediaQuery *everything = [MPMediaQuery songsQuery];   
    NSArray *songCollections = [everything collections];

    songs = [NSMutableArray array];
    for (MPMediaItemCollection *song in songCollections) {
        MPMediaItem *representativeItem = [song representativeItem];  
        [songs addObject:representativeItem];
    }

アルバムごとに並べ替える方法はありますか?私は追加することに気づきました

   [everything setGroupingType:MPMediaGroupingAlbum]; 

奇妙な結果を生成します(各アルバムの最初の曲を配列にプッシュするだけです)

前もって感謝します

4

1 に答える 1

0

アルバムを取得し、それらを繰り返し処理して曲の配列にデータを入力すると、アルバムに関して並べ替えられた曲になります。

NSMutableArray *sortedSongs = [[NSMutableArray alloc] init];
MPMediaQuery *albums = [MPMediaQuery albumsQuery];
NSArray* albumObjects = [albums collections];
for(MPMediaItemCollection *album in albumObjects) {
    for(MPMediaItem *song in album.items) {
        [sortedSongs addObject:song];
    }
}

NSLog(@"sorted songs : %@", sortedSongs);

お役に立てれば

于 2013-02-04T18:57:20.437 に答える