2011-05-13 84 views
0

我想加載專輯列表和專輯的歌曲列表,如默認音樂應用程序。 如果我選擇'Coldplay',查看更改並加載coldplay的相冊列表。 我選擇'X & Y'(專輯名稱),查看更改並加載'X & Y'(專輯)中的歌曲列表。 誰能幫幫我?MPMedia按藝術家加載專輯

+0

你期望有人爲你寫代碼?你試過什麼了?你遇到什麼問題? – omz 2011-05-13 07:50:02

+0

嗯。我試圖用這種方法:\t MPMediaQuery * query = [MPMediaQuery albumsQuery]; MPMediaPropertyPredicate * mpp = [MPMediaPropertyPredicate predicateWithValue:@「」forProperty:MPMediaItemPropertyAlbumTitle comparisonType:MPMediaPredicateComparisonContains]; [query addFilterPredicate:mpp]; \t self.songsArray = [NSMutableArray arrayWithArray:query.collections];但我不知道如何去定義它! – Sookcha 2011-05-13 08:12:35

+0

我不想加載相冊名稱!我想加載專輯的歌曲列表... – Sookcha 2011-05-13 08:13:33

回答

2

你可以得到專輯的列表,預定義的albumsQuery

MPMediaQuery *albumsQuery = [MPMediaQuery albumsQuery]; 
NSArray *albums = [albumsQuery collections]; 
for (MPMediaItemCollection *albumCollection in albums) { 
    NSString *albumTitle = [[albumCollection representativeItem] valueForProperty:MPMediaItemPropertyAlbumTitle]; 
    //... 
} 

要獲得所有歌曲在專輯中,你將通過MPMediaItemCollectionitems屬性來訪問它們:

NSArray *songs = albumCollection.items; 
for (MPMediaItem *song in songs) { 
    //... 
} 
+0

如果有兩個相同名稱的專輯爲不同的藝術家做了什麼?例如,「未知專輯」對於專輯而言頗爲流行。 – 2013-04-20 18:36:51

+0

好的,我發現它 - 你必須使用定製MPMediaQuery兩個謂詞 - 藝術家和標題。 – 2013-04-20 18:40:47

相關問題