2010-01-07 9 views

답변

3

아직 테스트하지 않았지만 아래 코드는 재생 목록을 검색하고 100 번째 항목을 재생하기 시작한 것입니다. 그러나 그것은 tite로 재생 목록을 정렬하지 않습니다. 이를 위해 재생 목록 항목을 반복하고 모든 이름을 검색 한 다음 MPMediaItem 개의 객체를 키로 사용하여 사전에 이름을 입력 할 수 있습니다 (이 방법이 작동하는지 여부는 알 수 없음). 그런 다음 사전에 -keysSortedByValueUsingSelector:을 호출하여 노래 제목별로 정렬 할 수 있습니다. 그러면 미디어 항목의 배열이 반환됩니다. 이 배열에서 100 번째 요소를 가져 와서 음악 플레이어에 공급하십시오.

NSString *playlistToPlay = @"My playlist"; 
MPMediaQuery *playlistsQuery = [MPMediaQuery playlistsQuery]; 
NSArray *playlists = [playlistsQuery collections]; 
for (MPMediaPlaylist *playlist in playlists) { 
    NSString *playlistName = [playlist valueForProperty:MPMediaPlaylistPropertyName]; 
    if ([playlistName isEqualToString:playlistToPlay]) { 
     // This is the playlist we are looking for 
     MPMusicPlayerController *player = [MPMusicPlayerController iPodMusicPlayer]; 
     [player stop]; 
     [player setQueueWithItemCollection:playlist]; 

     // Play the 100th song in the playlist 
     MPMediaItem *songToPlay = [[playlist items] objectAtIndex:99]; 
     player.nowPlayingItem = songToPlay; 
     [player play]; 

     // Exit the loop 
     break; 
    } 
} 
관련 문제