我正在开发一个应用程序,它使用 ConnectyCube 在两个联系人之间建立 P2P 视频通话。在这次通话中,我尝试使用SpeechRecognizer API将一些语音输入翻译成文本。
我在集成 ConnectyCube 视频通话和 SpeechRecognizer 时遇到了一些问题,因为它们都需要同时运行,这意味着它们都需要同时使用音频流。
在进行 ConnectyCube 视频通话时尝试通过 SpeechRecognizer 开始收听会引发“ERROR_AUDIO”错误:
/** Audio recording error. */
public static final int ERROR_AUDIO = 3;
在这种不兼容之后,我的想法是暂停或暂停 ConnectyCube 的音频流,以便 SpeechRecognizer 可以使用它。但是,我还没有成功地做到这一点。
我已经测试过禁用 RTCSession AudioTrack 以及完全关闭 MediaStream,但均未成功:
currentCall?.mediaStreamManager?.close()
和/或
currentCall?.mediaStreamManager?.localAudioTrack?.setEnabled(false)
我还搜索了一种将呼叫置于保持状态的方法(理论上它会释放音频流),但在 SDK 中没有找到这样做的方法。有没有办法在不挂断的情况下保持通话?
如果上述不可行,还有什么我可以尝试实现我上面提到的吗?
谢谢!