我有一首“歌曲”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];
会产生一个奇怪的结果(它只是在数组中推送每张专辑的第一首歌曲)
提前致谢
答案 0 :(得分: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);
希望这有帮助