Description
When two users land on the same page in my react application, I start an audio call between them. They could be connected on a call through any other app (E.g: Discord, teams, gmeet etc)
My use case is to use live transcription to transcribe whatever they speak when they are on this page. However, I do not want them to hear each other via the zoom SDK. Essentially I want their outgoing audio to be transmitted but do not want each other to hear it on the other side. I am aware of the muteAllUserAudioLocally()
method but until the other person accepts the browser permission for the mic access, they can still hear each other. Is there a way to call muteAllUserAudioLocally()
right when the user joins the session using join()
instead of calling it after .startAudio()
?
This is my current implementation.
init: () => Promise<void> = async () => {
this.zoomClient = ZoomVideo.createClient();
await this.zoomClient.init('en-US', 'CDN');
const signature = await this.fetchSDKSignature();
await this.zoomClient.join(this.slug, signature, this.zoomScreenName);
this.mediaStream = this.zoomClient.getMediaStream();
if (this.zoomClient.isHost()) {
this.transcriptionClient = this.zoomClient.getLiveTranscriptionClient();
}
this.bindEventListeners();
await this.mediaStream.startAudio();
await this.mediaStream.muteAllUserAudioLocally();
if (this.transcriptionClient) {
await this.transcriptionClient.startLiveTranscription();
}
this.hasSessionStarted = true;
};
I have tried the following but none of them worked.
- Removing await on
.startAudio()
- Calling
.muteAllUserAudioLocally()
before.startAudio()
- Calling .muteAllUserAudioLocally()
after
.join()`
Which Web Video SDK version?
1.12.12
- Device: Macbook Pro
- OS: macOS 15.3.1 (24D70)
- Browser: Chrome
- Browser Version: 133.0.6943.143 (Official Build) (arm64)