私はサンプルの Voip アプリケーションを実行しています。ユーザーがデフォルトのカメラ アプリケーションを使用してビデオを録画していて、着信 voip 呼び出しが来ると、ビデオの録画を停止してアプリケーションにオーディオ フォーカスを取得したいと考えています。
mAudioManager.requestAudioFocus(mAudioFocusListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);
private OnAudioFocusChangeListener mAudioFocusListener = new OnAudioFocusChangeListener() {
@Override
public void onAudioFocusChange(int focusChange) {
Logger.d(TAG, "--------Audio Focus change: " + focusChange);
switch(focusChange){
case AudioManager.AUDIOFOCUS_GAIN:
Logger.d(TAG, "--------Focus change: AUDIOFOCUS_GAIN" );
break;
case AudioManager.AUDIOFOCUS_GAIN_TRANSIENT:
Logger.d(TAG, "--------Focus change: AUDIOFOCUS_GAIN_TRANSIENT" );
break;
case AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK:
Logger.d(TAG, "--------Focus change: AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK" );
break;
case AudioManager.AUDIOFOCUS_LOSS:
Logger.d(TAG, "--------Focus change: AUDIOFOCUS_LOSS" );
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
Logger.d(TAG, "--------Focus change: AUDIOFOCUS_LOSS_TRANSIENT" );
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
Logger.d(TAG, "--------Focus change: AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK" );
break;
case AudioManager.AUDIOFOCUS_REQUEST_FAILED:
Logger.d(TAG, "--------Focus change: AUDIOFOCUS_REQUEST_FAILED" );
break;
}
}
};
携帯電話のネイティブ カメラがビデオを録画しているときにオーディオ フォーカスを取得するにはどうすればよいですか?