ios - 从 MPMediaQuery 专辑查询中仅获取空返回
问题描述
好的。所以,我一直在我的iphone上运行这个。它适用于歌曲很好,我可以在 UITableview 中显示包含艺术家姓名和专辑封面的歌曲列表,但是当我尝试搜索专辑时,我只是得到空值。这是我的专辑查询代码。
NSMutableArray *AlbumsList = [[NSMutableArray alloc] init];;
MPMediaQuery *allAlbums = [[MPMediaQuery alloc] init];
NSArray *itemsFromAlbumQuery = [allAlbums collections];
//NSLog(@"Albums: %@", itemsFromAlbumQuery);
NSString* mediaTitle; //the title holder
int whileX = 0;
MPMediaItem* mediaItem; //the media holding object
while(whileX != [itemsFromAlbumQuery count]){
mediaItem = itemsFromAlbumQuery[whileX];
mediaTitle = [mediaItem valueForProperty:MPMediaItemPropertyAlbumTitle];
[AlbumsList addObject: mediaTitle];
//create a list of song names
whileX += 1;
}
我尝试进行特定专辑查询而不是一般查询并且得到相同的结果,我在这里有点困惑,如果我在下面得到这个查询以返回 mediaTitle 设置为专辑名称的 [allAlbums items] 我得到专辑名称对于我库中的每首歌曲,但是如果我尝试获取收藏集,我只会得到空值,我的所有歌曲都正确定义,并填写了专辑和艺术家字段,所以我知道这不是问题。
解决方案
这对我有用
MPMediaQuery *allAlbums = [MPMediaQuery albumsQuery];
NSArray *itemsFromAlbumQuery = [allAlbums collections];
for(int i=0; i< itemsFromAlbumQuery.count;i++){
MPMediaItemCollection* mc=itemsFromAlbumQuery[i];
MPMediaItem* item=mc.representativeItem;
NSString* title=[item valueForProperty:MPMediaItemPropertyAlbumTitle];
}
推荐阅读
- onlyoffice - 如何使用 MS Words 编辑 OnlyOffice 文档?
- postgresql - 真空失败并出现错误:无法冻结已提交的 xmax
- android - firebase 获取数据太多次
- python - ImportError:无法导入名称“LinearNDInterpolator”
- hibernate - JPA EntityManager:为什么 merge() 方法返回托管实体?
- excel - 如何编写VBA代码来隐藏excel中的一些单元格
- python - 如何重塑包含图像数据的数组
- safari - 在 Safari 中的 contenteditable 上按Key Enter
- arrays - 矩阵列作为 AND 操作
- java - 在嵌套循环中并排打印两个数字