MPMusicPlayerController
给了我nowPlayingItem
的属性,但我也对之前的下一首歌感兴趣。
有没有办法检索包含下一个和前一个元素的MPMediaItem
?
答案 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%经过测试的代码。