MPMediaQuery 从persistentID 返回曲目而不是播放列表
Posted
技术标签:
【中文标题】MPMediaQuery 从persistentID 返回曲目而不是播放列表【英文标题】:MPMediaQuery returning tracks instead of playlist from persistentID 【发布时间】:2014-01-06 19:38:25 【问题描述】:我的代码的目的是从先前获得的 persistentID 返回 MPMediaPlaylist 对象。
MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:persistentID
forProperty:MPMediaPlaylistPropertyPersistentID];
MPMediaQuery *query = [MPMediaQuery playlistsQuery];
[query addFilterPredicate:predicate];
query.items
是播放列表中包含的曲目。我想要返回的是播放列表本身。我怎么得到它?
【问题讨论】:
【参考方案1】:见
https://developer.apple.com/library/ios/documentation/mediaplayer/reference/MPMediaPlaylist_ClassReference/Reference/Reference.html#//apple_ref/occ/cl/MPMediaPlaylist
查看如何获取播放列表的代码:
MPMediaQuery *myPlaylistsQuery = [MPMediaQuery playlistsQuery];
NSArray *playlists = [myPlaylistsQuery collections];
for (MPMediaPlaylist *playlist in playlists)
NSLog (@"%@", [playlist valueForProperty: MPMediaPlaylistPropertyName]);
// ...
您实际上得到的是歌曲列表(items
),但它们按播放列表分组。这就是为什么要求查询的 collections
可以让您引用您所追求的 MPMediaPlaylist
对象。
【讨论】:
对我来说最重要的一点是通过 [MPMediaQuery playlistsQuery] 获取查询对象,然后添加谓词。谢谢!以上是关于MPMediaQuery 从persistentID 返回曲目而不是播放列表的主要内容,如果未能解决你的问题,请参考以下文章
播放列表的 MPMediaQuery(在 iPod 上)包括一些专辑
快速使用 MPMediaQuery 获取索引 uitableview 的专辑标题?