version: Video SDK Web 1.12.14
Description
We would like to give our users 2 buttons: 1 button to mute themselves and another button to mute their own speaker/all audio from other participants. When a user joins the call, they can either press the mic button (to unmute themselves) or the speaker button (to listen to everyone else). This works great in all browsers we’ve tested except for iOS Safari.
In the case of iOS Safari, when a user clicks the mic to unmute themselves, their speaker also becomes active and they can hear the other participants. To try and prevent this, we are calling muteAllUserAudioLocally
on that user’s device after calling startAudio
but nothing happens. The promise fulfills but the speaker still plays the other participants audio.
When the user manually clicks the speaker button to mute the other participants, calling muteAllUserAudioLocally
works fine. This is only a problem when they first startAudio
.
We are getting around this by querying the DOM for audio elements and manually setting muted
to true.
Is there some way to ensure that the speaker/output audio is off when a user starts audio via iOS Safari?