Play Song at specific index of MPMediaItemCollecti

2019-06-28 06:31发布

问题:

I try to make my own Musicplayer with Swift. I need to jump to a specific song/index of my MPMediaItemCollection and start to play it but i can only find methods like skipToNextItem() and skipToPreviousItem(). Is there any other way to do that than with a loop?

let player = MPMusicPlayerController.systemMusicPlayer()
player.setQueueWithItemCollection(mediaCollection)
player.play()

回答1:

According to the documentation, we use the nowPlayingItem property.

To specify that playback should begin at a particular media item in the playback queue, set this property to that item while the music player is stopped or paused.

So, it sounds like you should stop or pause the player, set the nowPlayingItem, and then call play again.

player.nowPlayingItem = mediaCollection.items[selectedIndex]
player.play()