Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone MPMusicLayerController知道上一首歌和下一首歌_Iphone_Objective C_Ios_Mpmusicplayercontroller - Fatal编程技术网

Iphone MPMusicLayerController知道上一首歌和下一首歌

Iphone MPMusicLayerController知道上一首歌和下一首歌,iphone,objective-c,ios,mpmusicplayercontroller,Iphone,Objective C,Ios,Mpmusicplayercontroller,MPMusicPlayerController为我提供了属性nowPlayingItem,但我对上一首歌和下一首歌也感兴趣 有没有办法用下一个和上一个元素检索MPMediaItem?如何设置MPMusicLayerController的播放队列?您可能正在使用MPMediaQuery查找MPMediaItemCollection,然后将其设置为MPMusicLayerController的队列 如果是这种情况,您可以在iOS 5+中使用MPMusicLayerController的indexOf

MPMusicPlayerController
为我提供了属性
nowPlayingItem
,但我对上一首歌和下一首歌也感兴趣


有没有办法用下一个和上一个元素检索MPMediaItem?

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

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


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

您可以通过以下方式播放下一首和上一首歌曲:

Swift 2.0


工作100%测试代码。

我实际上没有设置播放查询,因为我使用+[MPMusicLayerController IPodMusicLayer]初始化音乐播放器,并且我希望使用当前的iPod队列
let musicPlayer: MPMusicPlayerController?
musicPlayer.skipToNextItem()  // Next Song
musicPlayer.skipToPreviousItem() // Prev Song
musicPlayer.skipToBeginning() // Start Of Current Media