有没有办法一次从 iPod 库中搜索多个艺术家的曲目。

Posted

技术标签:

【中文标题】有没有办法一次从 iPod 库中搜索多个艺术家的曲目。【英文标题】:is there any way to search multiple artists tracks from iPod Library at a time . 【发布时间】:2015-06-03 07:40:13 【问题描述】:

我想从 iPod Library 中获取多个艺术家的曲目。以下代码允许我获取特定的艺术家曲目,例如 -

MPMediaQuery *query = [[MPMediaQuery alloc] init];
    [query addFilterPredicate: [MPMediaPropertyPredicate
                                predicateWithValue:@"Lady Gaga"
                                forProperty: MPMediaItemPropertyArtist]];
 [query setGroupingType: MPMediaGroupingAlbum];

    NSArray *albums = [query collections];

是否有可能获得多个艺术家的曲目,例如 Lady Gaga 和 Akon 曲目只有单个查询 predicateWithValue 分隔;或 / 示例 -

[query addFilterPredicate: [MPMediaPropertyPredicate
                                    predicateWithValue:@"Lady Gaga/ Akon"
                                    forProperty: MPMediaItemPropertyArtist]];

请帮助我如何满足我的要求。

【问题讨论】:

【参考方案1】:

您可以使用聚合运算符IN(例如@"attribute IN %@", aCollection)并使用NSPredicate 过滤整个collections 数组:

NSArray *artists = @["Lady Gaga", @"Justin Bieber", @"Selena Gomez"];
MPMediaQuery *query = [[MPMediaQuery alloc] init];
[query setGroupingType: MPMediaGroupingAlbum];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%@ IN %@", MPMediaItemPropertyArtist, artists];
NSArray *albums = [[query collections] filteredArrayUsingPredicate:predicate];

【讨论】:

嗨,skyddict,我使用了你的代码,但没有得到任何结果,而不是我的设备中有这些艺术家的踪迹。

以上是关于有没有办法一次从 iPod 库中搜索多个艺术家的曲目。的主要内容,如果未能解决你的问题,请参考以下文章

快速从 iPod 库中获取专辑列表

如何获取 ipod 库中歌曲的大小?

iPhone 获取所有专辑/艺术家

缓存多个视频android

如何使用 bundle 一次从多个活动中获取数据

一次从 numpy 数组中选择多个切片