Как играть в альбом, начинающийся с определенного трека?

Мое приложение использует MPMusicPlayerController для воспроизведения музыки. Я немного теряюсь во всей документации для него и MPMediaQuery и так далее.

То, что я хочу сделать, это играть определенный альбом, начинающийся с определенного трека.

Я могу создать MPMediaQuery, который перезапускает альбом, но как мне начать воспроизведение на определенном треке?

1 ответ

Ну, если у вас есть запрос, я предполагаю, что у вас уже есть MPMediaItemCollection, который вы хотите играть. Оттуда вы назначаете эту коллекцию в качестве очереди игроков и определенный MPMediaItem из коллекции в качестве игрока, играющего сейчас. Коллекция объявляет свойство items которое позволяет вам получать доступ к отдельным элементам мультимедиа по индексу, который вы можете использовать для назначения текущего элемента. В этом случае 0 будет воспроизводить первый трек в коллекции, но он может быть установлен на любой индекс в границах массива.

MPMusicPlayerController *controller = [MPMusicPlayerController iPodMusicPlayer];

[controller setQueueWithItemCollection:myMediaItemCollection];
[controller setNowPlayingItem:myMediaItemCollection.items[0]];

[controller prepareToPlay];
[controller play];

licensed under cc by-sa 3.0 with attribution.