MPMusicPlayerController知道上一首和下一首歌

时间:2011-11-03 20:54:09

标签: iphone objective-c ios mpmusicplayercontroller

MPMusicPlayerController给了我nowPlayingItem的属性,但我也对之前的下一首歌感兴趣。

有没有办法检索包含下一个和前一个元素的MPMediaItem

2 个答案:

答案 0 :(得分:1)

您如何为MPMusicPlayerController设置播放队列?您可能正在使用MPMediaQuery来查找MPMediaItemCollection,然后将其设置为MPMusicPlayerController的队列。

如果是这种情况,您可以在iOS 5+中获取MPMusicPlayerController的indexOfNowPlayingItem属性,添加或减去一个,并从您找到的MPMediaItemCollection的items属性中选择一个MPMediaItem。 (在iOS< 5中,您可以在items数组中获取nowPlayingItem的索引,并使用它来代替indexOfNowPlayingItem。)

关键是您无法访问玩家队列中的项目,但如果您保留最初分配给队列的项目集合,则可以访问该集合中的项目。

答案 1 :(得分:1)

您可以这种方式播放下一首和上一首歌曲:

  

Swift 2.0

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

运行100%经过测试的代码。