Swift MPMusicPlayerController.systemMusicPlayer、skipToNextItem()後のplaybackState
5曲をキューに登録して再生。
5曲目でskipToNextItem()コール。
再生は止まるがplaybackStateは.playingのまま。
.pauseや.stoppedにはならない。
以前はなっていたはず。
Objective-Cでアプリを作成しいた頃、下記のコードで期待通り動作し、アプリを公開していた。
- (void)nextMusic:(NSTimer*)timer { [player skipToNextItem]; if(player.playbackState == MPMusicPlaybackStateStopped) { self.stopMusic.enabled = NO; self.albumSelect.enabled = YES; } else { MPMediaItem* nowItem = [player nowPlayingItem]; [self setMusicInfo:nowItem]; } }
改版を追っていないので仕様が変更されたのかもしれない。
キューの最後から次としただけなので、状態は変わらないという解釈も出来なくはない。
更にskipToNextItem()コールすると.pauseになる。
終わったことの判断はindexOfNowPlayingItemが0になることで出来る。