我有一个“歌曲”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]; 产生一个奇怪的结果(它只是将每个专辑的第一首歌曲推入数组)
提前感谢
发布于 2013-02-05 02:57:20
您可以获取专辑,然后遍历它们以填充歌曲数组,结果是根据专辑对歌曲进行排序:
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);希望这能有所帮助
https://stackoverflow.com/questions/14693138
复制相似问题