Hi @vic.yang
We are using the Zoom Video SDK and have configured the session with speakerPrivacy: true
in the preSessionConfig
. We expect that no remote user audio should be played locally unless explicitly unmuted.
Here’s what we’re doing:
- Setting
speakerPrivacy: true
before session join - Waiting for both session and audio to reach
Connected
state - Then calling:
mediaStream.muteAllUserAudioLocally();
This call runs successfully — no errors — and seems to work initially.
However, the issue:
- When a new participant joins, their audio is still played through the local speaker
- Also, if an existing participant starts speaking, their audio also plays locally
- Calling
muteAllUserAudioLocally()
inside theuser-added
event does not resolve it - The only thing that works is when the user manually unmutes and remutes — then the mute behavior is enforced correctly
It seems like muteAllUserAudioLocally()
does not consistently apply when speakerPrivacy
is enabled, especially for newly joined participants.
Are we missing something in the expected behavior of speakerPrivacy
combined with local mute?
Is there a specific sequence or workaround needed to keep all participant audio muted locally, including late joiners?
Would appreciate any insights. Thanks!