【发布时间】:2018-12-13 09:03:53
【问题描述】:
好的。所以,我一直在我的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 alloc] init];但这不是专辑查询! 您的相册查询在哪里? -
我可以将它切换为专辑查询,它给了我一个较短的空列表,我猜这意味着它调用专辑列表,但它们仍然是空的
-
好吧,我不知道你的新代码是什么样子的。我的在线书籍包含一些展示如何执行专辑查询的 Objective-C 代码。 apeth.com/iOSBook/ch29.html#_exploring_the_music_library
-
谢谢,我可能会看看
标签: ios objective-c mpmediaquery