Skip to main content
Version: 2.0.x

Toggle Participant Media - iOS

Control other participant's webcam and mic. For better idea, let's understand this with a real case scenario

Scenario 1 (Online Class) - In this scenario, the lecturer(Local Participant) will control the student's(Other Participant) webcam and mic as per his/her needs.

Scenario 2 (Online Events) - In this scenario, the event hosts will control the audience webcam and mic when someone wants to speak.

This guide will provide an overview of how to control other participant webcam and mic in a meeting.

  1. Enable Webcam of Participant - By using enableWebcam() function, a webcam-requested event will trigger on requested participant side.

    Example : Meeting is running with User A and User B. Now User A wants to Enable Webcam of User B, so User A will use enableWebcam() function to request User B, after that User B recieve the webcam-requested event, from there user can either accept or reject the incoming request.

  2. Disable Webcam of Participant - By using disableWebcam() function, webcam of that participant will be turned off.

    Example : User A wants to Disable Webcam of User B, so User A will use disableWebcam() function to Disable it without any request.

  3. Enable Mic of Participant - By using enableMic() function, a mic-requested event will trigger on requested participant side.

    Example : Meeting is running with User A and User B. Now User A wants to Enable Mic of User B, so User A will use enableMic() function to request User B, after that User B will receive the Mic-requested event, from there user can either accept or reject the incoming request.

  4. Disable Mic of Participant - By using disableMic() function, Mic of that participant will disable.

    Example : User A wants to Disable Mic of User B, so User A will use disableMic() function to Disable it without any request.

note

To achieve this feature, you need to pass allow_join persmission while genearting token for meeting initialization. After that you will be able to access participant media methods.

How to apply permission while generating token?

Request Media Methods

let participant = meeting?.participants.first(where: { $0.id == <participantId> })

/// Enable/Unmute mic for this participant
participant?.enableMic()

/// Disable/Mute mic for this participant
participant?.disableMic()

/// Enable/Turn on camera for this participant
participant?.enableWebcam()

/// Disable/Turn off camera for this participant
participant?.disableWebcam()

Manage Requested Media Events

  1. webcam-requested - This event will be emitted to the participant B when any other participant A requests to enable webcam of that participant B. This event handler will receieve following three arguments:

    • accept() - Callback function to accept the request.
    • reject() - Callback function to reject the request.
  1. mic-requested - This event will be emitted to the participant B when any other participant A requests to enable mic of that participant B. This event handler will receieve following three arguments:

    • accept() - Callback function to accept the request.
    • reject() - Callback function to reject the request.
/// Called when host requests to turn on the mic/audio
func onMicRequested(participantId: String?, accept: @escaping () -> Void, reject: @escaping () -> Void) {

// callback to accept the request
accept()

// callback to reject the request
reject()
}

/// Called when host requests to turn on the camera/video
func onWebcamRequested(participantId: String?, accept: @escaping () -> Void, reject: @escaping () -> Void) {
// callback to accept the request
accept()

// callback to reject the request
reject()
}

API Reference

The API references for all the methods and events utilised in this guide are provided below.

Got a Question? Ask us on discord