我想使用项目的索引号跳到另一首歌曲(可以在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/

10-12 14:33