使用案例如下: 通话使用 Twilio 开始,并且在 Twilio 通话期间,呼叫者的麦克风工作正常。 加入 Zoom 会话并从呼叫方断开 Twilio 呼叫后,问题出现了。当 Twilio 通话断开时:
During the Zoom video session,
The caller is able to hear the receiver's voice.
However, the caller's voice is not being received on the receiver's end.
为了加入 Zoom 会话,我尝试以下代码:
try {
await zoom.joinSession({
sessionName: sessionName,
sessionPassword: sessionPassword,
token: token,
userName: displayName,
audioOptions: {
connect: true,
mute: true,
autoAdjustSpeakerVolume: true,
},
videoOptions: {
localVideoOn: true,
},
sessionIdleTimeoutMins: parseInt(sessionIdleTimeoutMins, 10),
});
} catch (e) {
console.log('Failed to join Zoom', e);
Alert.alert('Failed to join the session');
setTimeout(() => navigation.goBack(), 1000);
}
当第二个用户加入会话时,我将断开 Twilio 呼叫:
TwilioCall.disconnect();
我搜索过解决方案,发现这个问题与两个SDK之间的音频设备资源管理有关,但目前还没有找到解决方案。
请问您能提供解决方案吗?
我正在使用: https://developers.zoom.us/docs/video-sdk/react-native/ https://github.com/twilio/twilio-voice-react-native
您遇到的问题似乎是由 Twilio 和 Zoom SDK 之间对音频设备资源(特别是麦克风)的竞争引起的。当您断开 Twilio 通话时,它可能无法正确释放麦克风或重置音频配置,这可能会导致 Zoom 无法捕获呼叫者的音频。
这里有一些解决该问题的技巧。
正确释放Twilio资源 确保您正确释放 Twilio 使用的所有资源和音频连接 TwilioCall.disconnect(); TwilioCall.unbindAudio();
重置音频设备配置 断开 Twilio 呼叫后,您可以重置音频配置以确保麦克风已准备好进行 Zoom。这可以使用本机 API 或像 react-native-webrtc 这样的库来完成。