2011-07-08 5 views
1

私はMPMusicPlayerControllerを使ってiPodMusicPlayerで音楽を再生しています。定期的にAVPlayerでアラートを再生します。いくつかの時間の音楽にはないということですコードは、私はちょうどアラートを再生する前に、最初のメソッドを呼び出して、このkAudioSessionProperty_OtherMixableAudioShouldDuck何度か音楽が解除されない

-(void) duckMusic 
{ 
    UInt32 on=1; 
    AudioSessionSetProperty(kAudioSessionProperty_OtherMixableAudioShouldDuck,sizeof(on),&on); 
    AudioSessionSetActive(true); 
} 

-(void) unDuckMusic 
{ 
    UInt32 on=0; 
    AudioSessionSetProperty(kAudioSessionProperty_OtherMixableAudioShouldDuck,sizeof(on),&on); 
    AudioSessionSetActive(false); 
} 

ようになり、私はAVPlayerItemDidPlayToEndTimeNotification

私は取得していますこの問題を通知が供給した後、第2メソッドを呼び出します警告が完了した後にフェードバックします。一部のデバッグでは、私は、オーディオセッションのプロパティが正しく設定されている が見つかりましたが、それは何らかの理由で無視されています。

私はまた、音楽がフェードバックしないときに、私が一時停止してデバイス上で手動で音楽を再生すると、正常になることに気がつきました。

これをプログラムで処理するにはどうすればよいですか?

編集:問題は、アプリケーションがバックグラウンド

答えて

0

で実行されているときは、unDuckMusicにプロパティを設定する必要はありません来ている
、セッションを無効にすると、混合されたオーディオは、通常の音量に戻ることができるように十分なはずです。

バックグラウンドで音声セッションが正しく処理されなかったため、音声セッションが予期しない方法で失敗するという同様の問題が発生しました。だからそれらを処理することを確認してください。

関連する問題