Получение определенной песни из определенного плейлиста - PullRequest
0 голосов
/ 07 января 2010

Допустим, я хочу заказать по названию все песни из определенного, скажем "Мой список воспроизведения", Список воспроизведения, и воспроизвести песню 100 в этом списке воспроизведения.

Возможно ли это вообще?

1 Ответ

3 голосов
/ 08 января 2010

Я не проверял это, но код ниже - это начало, чтобы получить список воспроизведения и воспроизвести его сотый элемент. Тем не менее, он не сортирует плейлист по частям. Для этого вы можете перебирать элементы списка воспроизведения, извлекать все их имена и помещать имена в словарь с ключами MPMediaItem (не знаю, работает ли это). Затем вы можете сортировать по названию песни, вызывая -keysSortedByValueUsingSelector: в словаре, который возвращает массив элементов мультимедиа. Возьмите сотый элемент из этого массива и подайте его на музыкальный проигрыватель.

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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...