次の曲の再生が始まる前に、曲の再生時間(MPMediaItem)を保存しようとしています。どのようにそれをしますか?
曲が変わる前MPMusicPlayerControllerNowPlayingItemDidChangeNotification
に発火するようなものはありますか?
次の曲の再生が始まる前に、曲の再生時間(MPMediaItem)を保存しようとしています。どのようにそれをしますか?
曲が変わる前MPMusicPlayerControllerNowPlayingItemDidChangeNotification
に発火するようなものはありますか?
現在、そのような通知(曲変更前の通知)は存在しないと思います。曲の状態が変わるのを聞くことができる通知は2つしかありません。
MPMusicPlayerControllerNowPlayingItemDidChangeNotification,
MPMusicPlayerControllerPlaybackStateDidChangeNotification,
アップルのドキュメント:
簡単: 曲が変わったら、変数foo
を現在の時間に設定し、別の変数bar
を新しい曲の現在の再生時間 (通常は になり0.0
ます) に設定します。曲が再び変わると、現在の時間から の値を引きfoo
、次に足します。の値bar
; 結果は、ちょうど再生されていた曲の最終的なオフセットです。
早送り、巻き戻し、停止、一時停止も処理する必要がありますが、再生状態を監視し、曲の現在の再生時間を照会して、必要に応じて同期を保つことでそれを行うことができます。
メディアアイテムが変更される前の通知はないと思います。最良の方法は、タイマーを使用して、メディア アイテムが変更されるか、メディア プレーヤーの状態が変更されるまで、値をメディア プレーヤーから変数に常にコピーして NSTimeInterval を格納することです。