Turn off incoming audio but keep outgoing audio open

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)

Hey @Sohan

Thanks for your feedback.

Currently, we don’t support calling muteAllUserAudioLocally() before the audio is connected.

Thanks
Vic

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.