2009-08-24 3 views
1

の送信を停止し、MPMusicPlayerControllerを送信状態通知の変更および停止。プレイヤーを再起動すると、音楽が再び再生されますが、トラックが変わったときにMPMusicPlayerControllerは通知を送信しなくなります。MPMusicPlayerController私はMPMusicPlayerControllerは全体のiPodライブラリの再生を持っていると私はトラックが変更されたときにこれは、すべてが正しく</p>プレイリストの最後に達した <p>を働いているなどの通知に加入していた通知

考えられますか?

答えて

3

実験の後、ここで私の問題を解決しました。

通知が送信され、状態が「停止」として報告されていました。 「再生」メッセージを送信すると、別の通知が発生し、その状態は「停止した」と表示されます。

プレイヤーがキューの最後に到達したときに停止していたときに、「完全に」停止していなかったため、再生が停止している間にキュー状態などがリセットされなかった停止通知を受け取った後に「停止」メッセージを送信した場合、「再生」メッセージを送信して、プレーヤーを適切に再起動させることができたことがわかったためです。

8

MPMusicPlayerControllerPlaybackStateDidChangeNotificationは、プレイヤーオブジェクトが実際に状態を更新する前に表示されることがあります。しかし、あなたは通知のuserInfo辞書から新しい状態を取得することができます(これは、おそらくそこにあります)。コードで

- (void)playbackStateDidChange:(NSNotification *)notification { 
    static NSString * const stateKey = @"MPMusicPlayerControllerPlaybackStateKey"; 
    NSNumber *number = [[notification userInfo] objectForKey:stateKey]; 
    MPMusicPlaybackState state = [number integerValue]; 
    // state is the new state 
    MPMusicPlayerController *player = [notification object]; 
    // state may not be equal to player.playbackState 
} 
関連する問題

 関連する問題