Moderator Controls
Moderator controls assist you in conducting secure online meetings. Moderators can guide meeting discussions in the right direction, minimize interruptions, and collaborate effectively to speed decision-making.
The iOS Client SDK provides privileged meeting controls for moderators to perform in-meeting actions. Moderators have more control over the meeting than other meeting participants. You can mute/unmute individual participants and mute/unmute all participants as a moderator. This is especially useful if participants forget to mute themselves during the meeting.
The ModeratorControlsServiceProtocol provides the ability to check if an SDK user has joined with moderator privileges and functions to perform moderator-specific actions. Use the following code snippets to check the availability of the moderator control service.
BlueJeansSDK.meetingService.moderatorControlService.isModeratorControlsAvailable()
When you join a BlueJeans meeting with a moderator passcode, various extra controls are available. For example, to mute the other participants in the meeting, to start or stop recording, and more.
As a moderator, you can perform the following privileges:
- Controls on meeting recordings (by start and stop recordings).
- mute/unmute the audio of other participants / all participants.
- mute/unmute the video of other participants / all participants
- remove any participant from the meeting
- end everyone's meeting immediately/after a certain delay
Meeting Recording controls
The following APIs are used to control the in-Meeting recording features such as starting a recording, stopping a recording, and checking the space availability to record a meeting.
The iOS Client SDK provides the ability to record the meeting sessions. isRecordingFeatureAvailable API is used to check if the meeting recording feature is enabled. Use the following code snippet to verify the recording feature availability.
BlueJeansSDK.meetingService.moderatorControlServiceProtocol.isRecordingFeatureAvailable
Start Recording
The startRecording() method is used to start recording a meeting. The promise returned by this method indicates whether the API call was successful. It internally checks if space is available and calls the startRecording API accordingly. Also, the recording will start only if isRecordingFeatureAvailable is true and there is no other active recording in progress. To start the recording meeting, use the following code snippet.
BlueJeansSDK.meetingService.moderatorControlServiceProtocol.startRecording(onCompletion:
@escaping (Result<RecordingSuccess, BJNClientSDK.RecordingError>) -> Void)
Note
Recording can be started and stopped by other moderators so you should rely on the recordingState for UX and not just the result of the startRecording function.
Use the recordingState API to check the current recording status.
BlueJeansSDK.meetingService.moderatorControlServiceProtocol.recordingState
Stop Recording
The stopRecording() method is used to stop recording for a current meeting. Use the following code snippet to stop recording the current meeting session.
BlueJeansSDK.meetingService.moderatorControlServiceProtocol.stopRecording()
Mute/unmute the audio/video of other participants
iOS Client SDK provides an ability for moderators to mute/unmute the audio/video of a participant within the meeting.
- To set audio muted/unmuted for specific participants within the meeting, use the following code snippet.
BlueJeansSDK.meetingService.moderatorControlServiceProtocol.setAudioMutedForParticipant(muted: Bool, participant: BJNParticipant) - To set video muted/unmuted for specific participants within the meeting, use the following code snippet.
BlueJeansSDK.meetingService.moderatorControlServiceProtocol.setVideoMutedForParticipant(muted: Bool, participant: BJNParticipant)
Mute/unmute the audio/video of all participants
iOS Client SDK provides an ability for moderators to mute/unmute the audio/video of all participants in the meeting.
- To set audio muted/unmuted for all participants within the meeting, use the following code snippet.
BlueJeansSDK.meetingService.moderatorControlServiceProtocol.setAudioMutedForAllParticipants(muted: Bool) - To set video muted/unmuted for all participants within the meeting, use the following code snippet.
BlueJeansSDK.meetingService.moderatorControlServiceProtocol.setVideoMutedForAllParticipants(muted: Bool)
Remove Participant
Moderators have the privilege to remove participants from the meeting at any time. The removeParticipant() method is used to remove a participant from the meeting. If someone accidentally joins a meeting or you think a participant has not been required in a new discussion topic, you can remove that participant using the following command.
BlueJeansSDK.meetingService.moderatorControlServiceProtocol.removeParticipant(participant: BJNParticipant)
End Meeting for All Participants
The iOS Client SDK allows moderators to leave the meeting immediately and other participants to leave after a timeout. The endMeetingForAllParticipants method is used to end the meeting of all other participants after some time. Therefore, the moderator will leave immediately and all participants in the meeting will leave after some time. If the meeting ends successfully, the connection status will be updated to ".idle".
BlueJeansSDK.meetingService.moderatorControlServiceProtocol.endMeetingForAllParticipants(timeInSeconds: Int)