Mute & Unmute

Mute is something that applies to both audio and video. When you mute audio, you can't be heard by other people i.e your audio is OFF. When you mute a video, you will not be broadcasting your video to other people i.e your video is OFF.

Check Mute Status

Current Mute Status of any HMSTrack can be checked by calling isMute method on it.

In most of the cases, You would need current mute status to toggle mute and render correct mic and camera icons.

// You can get `HMSTrack` object from `HMSPeer` object // or `HMSUpdateListenerActions.ON_TRACK_UPDATE` event const audioMuted = peer.audioTrack?.isMute(); // audioTrack property can be undefined const videoMuted = peer.videoTrack?.isMute(); // videoTrack property can be undefined

Change Your(Local Peer) Mute Status

To switch your "video" or "audio" on/off, you can call setMute method available on HMSLocalVideoTrack or HMSLocalAudioTrack objects respectively with true or false values.

If you want to toggle mute status of your "video" or "audio", then you can first get the current mute status and then pass opposite value to setMute method.

// instance acquired from build() method const localPeer = await hmsInstance.getLocalPeer(); // Muting Example - localPeer.localAudioTrack().setMute(true); // Muting Local Audio localPeer.localVideoTrack().setMute(true); // Muting Local Video // Toggling Mute Example - const audioMuted = localPeer.audioTrack?.isMute(); // Toggling Local Audio, audio will be unmuted localPeer.localAudioTrack().setMute(!audioMuted); // passing opposite value of audioMuted const videoMuted = localPeer.videoTrack?.isMute(); // Toggling Local Video, video will be unmuted localPeer.localVideoTrack().setMute(!videoMuted); // passing opposite value of videoMuted

For muting remote peer refer to Change Track State docs and for muting remote peers locally refer to Playback Allowed docs.

Have a suggestion? Recommend changes ->

Was this helpful?