2011-05-13 3 views
0

기본 음악 앱처럼 앨범 목록과 앨범의 노래 목록을로드하고 싶습니다. 'Coldplay'를 선택하면 변경 내용이 표시되고 coldplay의 앨범 목록이로드됩니다. 그리고 'X & Y'(앨범 이름)을 선택하고 변경 사항을 보았습니다. 'X & Y'(앨범)에 노래 목록이로드됩니다. 누가 나를 도울 수 있습니까?MPMedia 아티스트 별 앨범 가져 오기

+0

당신을 수행 누군가가 당신을 위해 코드를 작성하기를 기대합니까? 지금까지 뭐 해봤 어? 어떤 문제가 발생 했습니까? – omz

+0

흠. 이 방법을 사용하려고했습니다 : \t MPMediaQuery * query = [MPMediaQuery albumsQuery]; MPMediaPropertyPredicate * mpp = [MPMediaPropertyPredicate predicateWithValue : @ ""forProperty : MPMediaItemPropertyAlbumTitle 비교 유형 : MPMediaPredicateComparisonContains]; [query addFilterPredicate : mpp]; \t self.songsArray = [NSMutableArray arrayWithArray : query.collections]; 그러나 나는 그것을 custmize하는 방법을 몰라! – Sookcha

+0

앨범 이름을로드하고 싶지 않습니다. 앨범의 노래 목록을로드하고 싶습니다 ... – Sookcha

답변

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

다른 아티스트의 이름이 같은 두 개의 앨범이 있다면 어떻게 될까요? 예를 들어, "알 수없는 앨범"은 앨범의 다소 인기있는 이름입니다. –

+0

좋아요, 찾았습니다 - 아티스트와 제목이라는 두 가지 조건으로 사용자 지정 MPMediaQuery를 사용해야합니다. –

관련 문제