1

所以我正在开发一个视频会议应用程序,我必须制作一个 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);

但这无济于事。

4

0 回答 0