我有一个"歌曲"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);
希望这能帮助