从 MPMediaQuery 专辑查询中仅获取 null returns
Getting only null returns from MPMediaQuery albums query
好的。所以,我已经 运行 在我的 iphone 上做了这个。它适用于歌曲,我可以在 UITableview 中显示完整的歌曲列表,其中包含艺术家姓名和专辑封面,但是当我尝试搜索专辑时,我只是得到了 null。这是我的相册查询代码。
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 得到 return [allAlbums items] 的查询设置为专辑名称我得到了我图书馆中每首歌曲的专辑名称,但是如果我尝试获取 collections 我只是得到空值,我所有的歌曲都正确定义了专辑和艺术家字段,所以我知道这一点不是问题。
这对我有用
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];
}
好的。所以,我已经 运行 在我的 iphone 上做了这个。它适用于歌曲,我可以在 UITableview 中显示完整的歌曲列表,其中包含艺术家姓名和专辑封面,但是当我尝试搜索专辑时,我只是得到了 null。这是我的相册查询代码。
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 得到 return [allAlbums items] 的查询设置为专辑名称我得到了我图书馆中每首歌曲的专辑名称,但是如果我尝试获取 collections 我只是得到空值,我所有的歌曲都正确定义了专辑和艺术家字段,所以我知道这一点不是问题。
这对我有用
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];
}