我将以下代码设置为每次按下某个按钮时运行。现在,对于前几首歌曲,PlayingInt滚动1,然后从7跳到10,然后每次滚动3,然后从13跳到17,然后每次滚动4。关于当musicPlayer逐步播放歌曲时,nowPlayingInt的变化方式或为何变化幅度可能超过1,有什么想法吗?
let nowPlayingInt = delegate.queryAsCollection!.items.indexOf(delegate.musicPlayer.nowPlayingItem!)
print("nowPlayingInt number is \(nowPlayingInt)")
delegate.musicPlayer.nowPlayingItem = delegate.queryAsCollection!.items[nowPlayingInt! + 1]
我知道我可以使用.skipToNextItem,但这不是我要尝试的操作,如果我想跳过一首以上的歌曲,也无济于事。
AppDelegate包含:
let musicPlayer = MPMusicPlayerController.systemMusicPlayer()
var queryAsCollection : MPMediaItemCollection?
var collectionForNextUps = MPMediaQuery()
最佳答案
我让indexofNowPlayingItem
可以根据需要工作。仍然不确定为什么使用indexOf
的行没有解决问题,但我认为我至少会完整地发布答案。
let nowPlayingInt = delegate.musicPlayer.indexOfNowPlayingItem
print("nowPlayingInt number is \(nowPlayingInt) 1 ")
delegate.musicPlayer.nowPlayingItem = delegate.queryAsCollection!.items[nowPlayingInt + 1]