所以我正在开发一个视频会议应用程序,而且我必须创建一个onHold功能。但我注意到,如果我在会议期间收到Skype电话,麦克风会出现一些问题。其他用户听不到我的声音。 所以我开始做一些测试。 如果我正在使用WhatsApp呼叫,同样的事情发生,我回答Skype,其他用户听不到我的声音。 如果我在我的应用程序并回答Whatsapp电话,另一个人听不到我,应用程序挂起。 如果我在Skype,我收到一个Whatsapp电话,同样的事情发生,它挂起,没有麦克风。 这是一个已知的Android问题吗? 有没有办法让我的应用程序“解放”麦克风?这样Skype / Whatsapp可以访问吗?
我不能在这里添加任何代码,不适用于Skype和WhatsApp,而对于我的应用程序,当我暂停时,它会调用onPause来执行此操作:
@Override
protected void onPause() {
super.onPause();
Log.i(TAG, "onPause Begin");
LmiVideoCapturer.onActivityPause();
mIsOnPause = true;
pauseCall();
if (cameraStarted) {
cameraPaused = true;
cameraStarted = false;
} else {
cameraPaused = false;
}
if(app != null) {
app.DisableAllVideoStreams();
}
if(audioManager != null)
audioManager.setSpeakerphoneOn(prevValue);
Log.i(TAG, "onPause End");
}
其中DisableAllVideoStreams是本机c方法。同时onActivityPause。
我甚至尝试设置音频焦点,onPause和onResume,如: 暂停:
audioManager.requestAudioFocus(null, AudioManager.USE_DEFAULT_STREAM_TYPE, AUDIOFOCUS_LOSS);
恢复:
audioManager.requestAudioFocus(null, AudioManager.USE_DEFAULT_STREAM_TYPE, AUDIOFOCUS_GAIN);
但这没有用。