0

我的代码的目的是从先前获得的 persistentID 返回一个 MPMediaPlaylist 对象。

MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate predicateWithValue:persistentID
                                                                       forProperty:MPMediaPlaylistPropertyPersistentID];
MPMediaQuery *query = [MPMediaQuery playlistsQuery];
[query addFilterPredicate:predicate];

是播放列表中包含的query.items曲目。我想要返回的是播放列表本身。我怎么得到它?

4

1 回答 1

4

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]);
    // ...
}

你实际上得到的是一个歌曲列表(the items),但它们是播放列表分组的。这就是为什么询问查询collections会让您引用MPMediaPlaylist您所追求的对象。

于 2014-01-06T19:53:35.727 回答