Iphone MPMediaQuery问题
在开发我的新应用程序Coverd时,我发现了一个问题。我是这样使用它的: 查询=[[MPMediaQuery albumsQuery]保留];[查询设置分组类型:MPMediaGroupingAlbum]Iphone MPMediaQuery问题,iphone,media,Iphone,Media,在开发我的新应用程序Coverd时,我发现了一个问题。我是这样使用它的: 查询=[[MPMediaQuery albumsQuery]保留];[查询设置分组类型:MPMediaGroupingAlbum] 很简单,但在登录并查看结果后,我注意到它隐藏/跳过了所有没有名字的相册。有办法解决这个问题吗?还有其他人遇到过这个问题吗?让我知道;) 也有同样的问题。例如,我尝试使用类似以下代码的方式获取所有相册(包括视频) MPMediaQuery *query = [[MPMediaQuery allo
很简单,但在登录并查看结果后,我注意到它隐藏/跳过了所有没有名字的相册。有办法解决这个问题吗?还有其他人遇到过这个问题吗?让我知道;) 也有同样的问题。例如,我尝试使用类似以下代码的方式获取所有相册(包括视频)
MPMediaQuery *query = [[MPMediaQuery alloc] init];
[query setGroupingType: MPMediaGroupingAlbum];
collections = [query collections];
但正如你所说,它错过了没有任何专辑信息的项目。我的解决方案是自己重建专辑集:
MPMediaQuery *query = [[MPMediaQuery alloc] init];
NSArray* a = [query items];
NSMutableArray* lc = [NSMutableArray array];
for (MPMediaItem* mp in a) {
NSString* atitle=[mp valueForProperty:MPMediaItemPropertyAlbumTitle];
NSMutableArray* found = nil;
for (NSMutableArray*l in lc) {
NSString* ltitle=[l[0] valueForProperty:MPMediaItemPropertyAlbumTitle];
if ((!atitle && !ltitle) || [atitle isEqualToString:ltitle]) {
found = l;
break;
}
}
if (found) {
[found addObject:mp];
} else {
[lc addObject:[NSMutableArray arrayWithObject:mp]];
}
}
NSMutableArray* lcc = [NSMutableArray array];
for (NSMutableArray*l in lc)
[lcc addObject:[MPMediaItemCollection collectionWithItems:l]];
collections = [NSArray arrayWithArray:lcc];
调用+albumQuery时,分组类型自动设置为MPMediaGroupingAlbum。