我想使用项目的索引号跳到另一首歌曲(可以在playlist.indexOfNowPlayingItem中找到)。有没有一种简单的方法可以使用mediaplayer.skipToNextItem之类的功能来设置索引号(例如,如果我想跳到播放列表的第四项,例如mediaplayer.skipToItem(4))?
最佳答案
如果检查Apple的documentation,则可以看到只有跳到下一个,开始和上一个项目的方法。但是,有一个属性nowPlayingItem
使我们能够获取当前曲目或设置要播放的曲目,问题是如何设置当前歌曲队列...
假设您正在使用:
1.媒体项目收集:
var songs = [song1, song2]
var player = MPMusicPlayerController.applicationMusicPlayer()
var collection = MPMediaItemCollection(items: songs)
player.setQueueWithItemCollection(collection)
因此,要设置要播放的新歌曲,我们只需执行以下操作:
player.nowPlayingItem = song2 (it must be already in our collection)
或者,如果您想使用索引号,由于我们的歌曲排列在数组中,我们还可以:
player.nowPlayingItem = songs[1]
2.媒体查询
var query = MPMediaQuery.songsQuery() // query of songs sorted by name
var songs = query.items as NSarray
var player = MPMusicPlayerController.applicationMusicPlayer()
player.setQueueWithQuery(query)
现在要设置要播放的新歌曲,我们只需执行以下操作:
player.nowPlayingItem = songs[1]
关于ios - 跳至带有Swift的iOS Media Player上的索引号项目...,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32452973/