質問

The purpose of my code is to return an MPMediaPlaylist object, from a persistentID previously attained.

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

The query.items are the tracks included in the playlist. What I want to be returned is the playlist itself. How do I get that?

役に立ちましたか?

解決

See

https://developer.apple.com/library/ios/documentation/mediaplayer/reference/MPMediaPlaylist_ClassReference/Reference/Reference.html#//apple_ref/occ/cl/MPMediaPlaylist

for code that shows you how to get a playlist:

MPMediaQuery *myPlaylistsQuery = [MPMediaQuery playlistsQuery];
NSArray *playlists = [myPlaylistsQuery collections];

for (MPMediaPlaylist *playlist in playlists) {
    NSLog (@"%@", [playlist valueForProperty: MPMediaPlaylistPropertyName]);
    // ...
}

What you are actually getting is a list of songs (the items), but they are grouped by playlist. That is why asking for the query's collections gets you references to the MPMediaPlaylist objects you are after.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top