0

次の曲の再生が始まる前に、曲の再生時間(MPMediaItem)を保存しようとしています。どのようにそれをしますか?

曲が変わるMPMusicPlayerControllerNowPlayingItemDidChangeNotificationに発火するようなものはありますか?

4

3 に答える 3

1

現在、そのような通知(曲変更前の通知)は存在しないと思います。曲の状態が変わるのを聞くことができる通知は2つしかありません。

MPMusicPlayerControllerNowPlayingItemDidChangeNotification,
MPMusicPlayerControllerPlaybackStateDidChangeNotification,

アップルのドキュメント:

http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPMusicPlayerController_ClassReference/Reference/Reference.html

于 2011-03-20T08:22:00.563 に答える
1

簡単: 曲が変わったら、変数fooを現在の時間に設定し、別の変数barを新しい曲の現在の再生時間 (通常は になり0.0ます) に設定します。曲が再び変わると、現在の時間から の値を引きfoo、次に足します。の値bar; 結果は、ちょうど再生されていた曲の最終的なオフセットです。

早送り、巻き戻し、停止、一時停止も処理する必要がありますが、再生状態を監視し、曲の現在の再生時間を照会して、必要に応じて同期を保つことでそれを行うことができます。

于 2011-03-20T08:26:42.327 に答える
0

メディアアイテムが変更される前の通知はないと思います。最良の方法は、タイマーを使用して、メディア アイテムが変更されるか、メディア プレーヤーの状態が変更されるまで、値をメディア プレーヤーから変数に常にコピーして NSTimeInterval を格納することです。

于 2011-03-20T10:35:12.617 に答える