MPMusicPlayerController знает предыдущую и следующую песню

MPMusicPlayerController дает мне свойство nowPlayingItem, но меня также интересует предыдущая и следующая песня.

Есть ли способ получить MPMediaItem со следующим и предыдущим элементами?


person Luca Bernardi    schedule 03.11.2011    source источник


Ответы (2)


Как вы устанавливаете очередь воспроизведения для вашего MPMusicPlayerController? Возможно, вы используете MPMediaQuery для поиска MPMediaItemCollection, которую затем устанавливаете в качестве очереди MPMusicPlayerController.

Если это так, вы можете взять свойство indexOfNowPlayingItem MPMusicPlayerController в iOS 5+, добавить или вычесть его и выбрать MPMediaItem из свойства items найденной коллекции MPMediaItemCollection. (В iOS ‹ 5 вы можете получить индекс nowPlayingItem в массиве items и использовать его вместо indexOfNowPlayingItem.)

Дело в том, что вы не можете получить доступ к элементам в очереди игрока, но если вы сохраните коллекцию элементов, которую вы изначально назначили очереди, вы можете получить доступ к элементам в этой коллекции.

person arlomedia    schedule 27.04.2012
comment
На самом деле я не устанавливаю запрос на воспроизведение, так как я использую +[MPMusicPlayerController iPodMusicPlayer] для инициализации музыкального проигрывателя, и я ожидаю использовать текущую очередь iPod - person Luca Bernardi; 21.05.2012

Вы можете воспроизводить следующую и предыдущую песни следующим образом:

Свифт 2.0

let musicPlayer: MPMusicPlayerController?
musicPlayer.skipToNextItem()  // Next Song
musicPlayer.skipToPreviousItem() // Prev Song
musicPlayer.skipToBeginning() // Start Of Current Media

Работает 100% проверенный код.

person zzzz    schedule 19.10.2015