MPMusicPlayerController
дает мне свойство nowPlayingItem
, но меня также интересует предыдущая и следующая песня.
Есть ли способ получить MPMediaItem
со следующим и предыдущим элементами?
MPMusicPlayerController
дает мне свойство nowPlayingItem
, но меня также интересует предыдущая и следующая песня.
Есть ли способ получить MPMediaItem
со следующим и предыдущим элементами?
Как вы устанавливаете очередь воспроизведения для вашего MPMusicPlayerController? Возможно, вы используете MPMediaQuery для поиска MPMediaItemCollection, которую затем устанавливаете в качестве очереди MPMusicPlayerController.
Если это так, вы можете взять свойство indexOfNowPlayingItem MPMusicPlayerController в iOS 5+, добавить или вычесть его и выбрать MPMediaItem из свойства items найденной коллекции MPMediaItemCollection. (В iOS ‹ 5 вы можете получить индекс nowPlayingItem в массиве items и использовать его вместо indexOfNowPlayingItem.)
Дело в том, что вы не можете получить доступ к элементам в очереди игрока, но если вы сохраните коллекцию элементов, которую вы изначально назначили очереди, вы можете получить доступ к элементам в этой коллекции.
Вы можете воспроизводить следующую и предыдущую песни следующим образом:
Свифт 2.0
let musicPlayer: MPMusicPlayerController?
musicPlayer.skipToNextItem() // Next Song
musicPlayer.skipToPreviousItem() // Prev Song
musicPlayer.skipToBeginning() // Start Of Current Media
Работает 100% проверенный код.