mute method

dynamic mute (
  1. int handleId,
  2. dynamic video,
  3. dynamic mute
)

Implementation

mute(int handleId, video, mute) {
  Plugin pluginHandle = this.pluginHandles[handleId.toString()];
  if (pluginHandle == null) {
    Janus.warn("Invalid handle");
    return false;
  }

  if (pluginHandle.pc == null) {
    Janus.warn("Invalid PeerConnection");
    return false;
  }
  if (pluginHandle.myStream != null) {
    Janus.warn("Invalid local MediaStream");
    return false;
  }
  if (video) {
    // Mute/unmute video track
    if (pluginHandle.myStream.getVideoTracks() == null ||
        pluginHandle.myStream.getVideoTracks().length == 0) {
      Janus.warn("No video track");
      return false;
    }
    pluginHandle.myStream.getVideoTracks()[0].enabled = !mute;
    return true;
  } else {
    // Mute/unmute audio track
    if (pluginHandle.myStream.getAudioTracks() == null ||
        pluginHandle.myStream.getAudioTracks().length == 0) {
      Janus.warn("No audio track");
      return false;
    }
    pluginHandle.myStream.getAudioTracks()[0].enabled = !mute;
    return true;
  }
}