У меня есть приложение для видеоконференций.Мое приложение обрабатывает, когда другое приложение вызывает, и у меня есть audioFocusChange:
AudioManager.OnAudioFocusChangeListener onAudioFocusChangeListener = new AudioManager.OnAudioFocusChangeListener() {
@Override
public void onAudioFocusChange(int focusChange) {
Log.i("", "microphoneTEST focus change is: " + focusChange);
if (focusChange == -2 || focusChange == -1) {
Log.i("", "microphoneTEST focus change is: ENTERED HERE+ " + speakerMuted);
LmiAudioCapturer.pause();
if (!speakerMuted)
speakerView.performClick();
doReInit = true;
}
if (focusChange == 1) {
if (doReInit) {
LmiAudioCapturer.resume();
if (audioManager != null)
audioManager.setSpeakerphoneOn(true);
doReInit = false;
if (speakerMuted)
speakerView.performClick();
}
}
}
};
Но это не работает в начале.Мой случай таков: 1. На моем телефоне работает телефонный звонок 2. Я пытаюсь запустить свое приложение.Что приводит к тому, что мое приложение не имеет звука, потому что фокус звука был установлен на телефонный звонок.Что я хочу сделать, это установить мой телефонный звонок на OnHold, когда я начинаю свою конференцию.Так что это может инициировать аудио.и затем пользователь может вернуться к вызову, и это сработает.
Можно ли в любом случае перевести телефонный вызов в режим удержания из моего приложения?