2011-09-27 2 views
1

내 iPhone 응용 프로그램으로 내 iPod 라이브러리에서 가장 많이 재생 된 25 곡을 가져와야합니다. 나는 MPMediaQuery를 사용하고있다.가장 좋아하는 음악을 iPod 라이브러리 (MPMediaQuery)에서 가져 오기

한 가지 해결책은 모든 트랙을 반복하고 MPMediaItemPropertyAlbumTrackCount로 비교하는 것입니다. 그러나 나는 조금 불충분하다고 생각한다. 가장 많이 재생 된 항목 재생 목록을 직접 가져 오는 방법이 있습니까?

답변

4

MPMediaItemPropertyPlayCount이 (가) MPMediaItemPropertyAlbumTrackCount가 아닌 것 같습니다. MPMediaItemPropertyAlbumTrackCount는 앨범에 표시되는 노래의 트랙 번호입니다.

MPMediaItemPropertyPlayCount 불행하게도 은 사용자 정의 특성 때문에 MPMediaQuery와 쿼리를 만들기 위해 사용할 수 없습니다.

가장 좋은 방법은 앱을 처음 열 때 Core Data와 같은 데이터베이스에 모든 재생 횟수를 저장하고 사용자 라이브러리가 변경 될 때 알림을 등록하여 업데이트하는 것입니다.

1

당신이 가장 연주 노래를 정렬 할 NSSortDescriptor을 사용할 수 있습니다

MPMediaQuery *everything = [[MPMediaQuery alloc] init]; NSSortDescriptor *sorter = [NSSortDescriptor sortDescriptorWithKey:MPMediaItemPropertyPlayCount ascending:NO]; NSArray *sortedSongsArray = [[everything items] sortedArrayUsingDescriptors:[NSArray arrayWithObject:sorter]];