2016-04-05 3 views
0

特定のボタンを押すたびに次のコードを実行するように設定しました。最初のいくつかの曲nowPlayingIntが1回転すると、7から10にジャンプした後、毎回3回転し、13から17にジャンプし、毎回4回転します。どのように、なぜnowPlayingIntがmusicPlayerが曲を辿るように変化するのかについての考えは何ですか?nowPlayingItem + 1は必ずしも次の曲を再生するとは限りません

let nowPlayingInt = delegate.queryAsCollection!.items.indexOf(delegate.musicPlayer.nowPlayingItem!) 
    print("nowPlayingInt number is \(nowPlayingInt)") 
    delegate.musicPlayer.nowPlayingItem = delegate.queryAsCollection!.items[nowPlayingInt! + 1] 

私は.skipToNextItemを使用することができることを承知しているが、それは私が何をしようとしているではないと私は以上の1曲をスキップしたい場合は、私を助けていないでしょう。

AppDelegateが含まれています

let musicPlayer = MPMusicPlayerController.systemMusicPlayer()  
var queryAsCollection : MPMediaItemCollection? 
var collectionForNextUps = MPMediaQuery() 
+0

デリゲートの実装にコードを共有できますか? – kye

+0

@kye両方の行でqueryAsCollectionを使用するようにコードを更新しました。私はAppDelegateのコンテンツも追加しました... – rocketman240

答えて

0

私は、必要に応じて動作するようにindexofNowPlayingItemを得ました。 indexOfの行がなぜこのトリックをしなかったのかまだ分かりませんが、私は少なくとも完成のための答えを投稿したいと思っていました。

let nowPlayingInt = delegate.musicPlayer.indexOfNowPlayingItem 
    print("nowPlayingInt number is \(nowPlayingInt) 1 ") 
    delegate.musicPlayer.nowPlayingItem = delegate.queryAsCollection!.items[nowPlayingInt + 1] 
関連する問題