按相册对MPMediaItem进行排序



我有一个"歌曲"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]; 

产生了一个奇怪的结果(它只是在数组中为每张专辑推送第一首歌曲)

提前感谢

您可以获取专辑,然后对它们进行迭代以填充歌曲数组,从而生成相对于专辑排序的歌曲:

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);

希望这能帮助

相关内容

  • 没有找到相关文章

最新更新