2014-01-06 35 views
0

我的代碼的目的是從先前獲得的persistentID中返回一個MPMediaPlaylist對象。MPMediaQuery從persistentID返回曲目而不是播放列表

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

query.items是包含在播放列表中的曲目。我想要返回的是播放列表本身。我如何獲得?

回答

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

什麼你實際上得到的是歌曲(的items)名單,但他們按播放列表分組分組爲。這就是爲什麼詢問查詢的collections可以引用您之後的MPMediaPlaylist對象。

+1

對我來說最重要的一點是通過[MPMediaQuery playlistsQuery]獲取查詢對象,然後添加謂詞。謝謝! – AlexeyVMP

相關問題