如何在Android中同时使用OpenTok SDK和语音识别器进行音频/视频通话?

问题描述 投票:0回答:1

我们在 Android 应用程序中使用 OpenTok SDK 开发了音频/视频通话功能。现在,我们需要集成 SpeechRecognizer API,以便在正在进行的 OpenTok 调用期间将语音转录为文本。

挑战在于 OpenTok SDK 已经获取了用于通话的麦克风(通过

RECORD_AUDIO
权限)。当我们使用以下方式触发语音识别器时:
voiceRecognizer.startListening(意图);

我们收到一条系统消息,指示 “语音识别器无法录制,因为 [应用程序名称] 当前正在录制。” 日志确认,由于 OpenTok 正在进行音频捕获,语音识别已被禁用。

问题:

是否可以在Android中同时使用OpenTok(用于音频/视频通话)SpeechRecognizer(用于语音转录)?如果是,有哪些可能的解决方案或解决方法可以实现这一目标?

此问题可能适用于多个组件需要独占访问麦克风(

RECORD_AUDIO
权限)的任何场景。具体来说,我们如何管理 OpenTok 和 SpeechRecognizer 之间的麦克风访问,使两者可以同时运行?

我们尝试过:

  • 在启动 SpeechRecognizer 之前禁用 OpenTok (

    mPublisher.publishAudio(false)
    ) 中的音频发布。

  • 完成简短转录后暂停 SpeechRecognizer,并在 OpenTok 中恢复音频。

但是,这些方法会中断通话或转录的流程,这对于无缝用户体验来说并不理想。

任何指导或建议将不胜感激!

android android-studio speech-recognition opentok
1个回答
0
投票

自己捕获麦克风音频并将音频流传递到 SpeechRecognizer 和 OpenTok 会话中。

对于语音识别器,请使用

EXTRA_AUDIO_SOURCE

对于 OpenTok,请使用

AudioDeviceManager#setAudioDevice

© www.soinside.com 2019 - 2024. All rights reserved.