The EnxRoom is a Derived Class from EnxRtc. It handles all the room-related functions to communicate with the Portal such as connection of Client endpoints to the video Room, publishing and subscription of Streams etc.
References: Attributes – Methods – Events
Attributes
roomID
– Unique Room Identifier generated for each Room.clientID
– Unique Client ID assigned by the Portal to the Client Endpoint.streams
– Dummy Streams available for subscription. Active Talker Notification gives a list of Streams carrying Media.remoteStreams
– List of Remote Streams.localStreams
– List of Local Streams.status
– Room Connection Status: Enum (1=Connecting, 2=Connected, 0=Disconnected).awaitedParticipants
– List of users awaiting Moderator’s approval to enter a knock-enabled Room.raisedHands
– List of users requesting Floor Access in Lecture Mode.approvedHands
– List of users approved for Floor Access in Lecture Mode.
Methods
The category-wise list of methods is as given below:
Connection
connect()
– To connect Client Endpoint to the Room.disconnect()
– To disconnect Client Endpoint from the Room.whoami()
– To know information of the user connected to the Room through the Endpoint.
Streaming
publish()
– To publish local stream in the Room.unpublish()
– To unpublish a local stream from the Room.subscribe()
– To subscribe to a remote stream to start receiving it.startCanvas()
– To start Canvas Streaming using a given Canvas DOM ID.stopCanvas()
– To stop ongoing Canvas Streaming.stopAllSharing()
– To force stop any ongoing Canvas Streaming.startScreenShare()
– To start Screen Sharing.stopScreenShare()
– To stop Screen Sharing.stopAllSharing()
– To force stop any ongoing Screen Share.setReceiveVideoQuality()
– To receive a desired video quality at the Client Endpoint.getMaxTalkers()
– To get the maximum number of talkers allowed in the Active Talker List.getTalkerCount()
– To get the number of talkers set to be received in the Active Talker List.setTalkerCount()
– To set the desired number of talkers you want to receive in the Active Talker List.subscribeStreamStatsForClient()
– To know local & subscribed remote Stream’s Statistical Information.switchspeaker()
– To switch to a different Speaker to play out Audio.
Advance Features
sendMessage()
– For advance messaging feature between Session participants.sendFiles()
– To initiate a file transfer.recvFiles()
– To initiate a file download.cancelUploads()
– To cancel uploading process of individual files or cancel all files being uploaded.canceldownloads()
– To cancel downloading process of individual files or cancel all files being downloaded.setAudioOnlyMode()
– To change to a audio-only call, i.e. you neither want to receive anyone’s video nor want to publish your video.sendUserData()
– To send message to all or selected participants in a Room using Custom Signalling Method.muteRoom()
– To mute audio/video of Parent Room.unMuteRoom()
– To unmute audio/video of Parent Room.disconnect()
– To disconnect from Break-Out Room to join back or resume with Parent Room.extendConferenceDuration()
– To trigger extension by any user, available only when an Extension Window is open.annotateToolAction()
– To configure tools and properties.startAnnotation()
– To initiate Annotation.stopAnnotation()
– To stop Annotation.subscribeMediaStats()
– To get live media statistics of Local Stream, Remote Streams, Canvas Stream and Screen Share being played at any end-point.subscribeForTalkerNotification()
– To subscribe to get Talker Notification to know who are the participants talking in this Room.
Break Out Room
createBreakoutRoom()
– To create a Break-Out Room.inviteToBreakoutRoom()
– To invite one or more users from Parent Room to join the Break-Out Room. The Creator or Owner of a Break-Out Room can send the invite.createAndInviteBreakoutRoom()
– To auto-assign users into different Break-Out Room.joinBreakOutRoom()
– To join a Break-Out room in case invited. This method may be used from the Parent Room only. A user may only join one Break-Out Room at any given point.rejectBreakOutRoomInvite()
– Allows the invited user to reject the invitation to join a Break-Out Room.pause()
– Allows the user to pause the Parent Room after joining the Break-Out Room.resume()
– To resume the Parent Room if it was paused while joining the Break-Out Room.clearAllBreakOutSession()
– Allows the participant to clear all Break-Out Rooms.destroyAllBreakOutSession()
– Allows the moderator to destroy all the Breakout Room sessions.
Moderator Controls
disconnectUser()
– To force disconnect a participant from the Room.approveAwaitedUser()
– To grant permission to a user waiting to join a knock-enabled Room.denyAwaitedUser()
– To deny permission to a user waiting to join a knock-enabled Room.hardMute()
– To hard-mute a Room where all the participants are on mute.hardUnmute()
– To lift the hard-mute restriction from the Room.hardMuteUserAudio()
– Allows the Moderator to hard-mute a Participant’s Audio.hardMuteUserVideo()
– Allows the Moderator to hard-mute a Participant’s Video.hardUnMuteUserAudio()
– Allows the Moderator to unmute the Participant’s Audio.hardUnMuteUserVideo()
– Allows the Moderator to unmute the Participant’s Video.startRecord()
– To start session recording.stopRecord()
– To stop ongoing session recording.startLiveRecording()
– Allows the Moderator to start live recording the session.stopLiveRecording()
– Allows the Moderator to stop live recording the session.lock()
– To lock the Room forbidding any new person from joining the Session.unlock()
– To unlock the Room.dropUser()
– To disconnect or force-drop a participant from the Session.destroy()
– To stop or disconnect an ongoing session.switchRoomMode()
– Allows the Moderator to switch the Room’s mode of operation from Group to Lecture or vice versa during a running conference.switchUserRole()
– Allows the Moderator to designate a connected Participant to act as a Moderator during the session.pinUsers()
– To pin one or more user stream(s).unpinUsers()
– To unpin one or more pinned user stream(s).addSpotlightUsers()
– To add spotlight on one or more user stream(s).removeSpotlightUsers()
– To remove spotlight from one or more user stream(s).
Floor Access Controls
requestFloor()
– To request permission from Moderator to access Floor and publish local Stream in lecture mode.cancelFloor()
– To cancel request for floor access which is pending at Moderator Side.denyFloor()
– To deny a request for floor access to a participant by the Moderator in lecture mode.grantFloor()
– To grant Floor Access permission to the participant allowing them to publish their local Stream in lecture mode.finishFloor()
– To finish floor access by the Participant.releaseFloor()
– To terminate floor access granted to some participant.inviteToFloor()
– To provide more options to the Moderator to organize a conference in lecture mode.cancelFloorInvite()
– To allow the Moderator to cancel a Floor Invitation sent to a Participant.acceptInviteFloorRequest()
– To allow the Participant to accept the invitation to the Floor and talk.
Miscellaneous
addEventListener()
– To add listener for Room Bound events for receiving notifications.
Events
A categorized listing of events in as given below:
Connection
room-connected
– Acknowledgment to the user when the client endpoint is connected to the room successfully.room-disconnected
– Acknowledgment to the user when the client endpoint gets disconnected from the Room.room-failed
– Acknowledgment to the user when the client endpoint fails to connect to the Room.room-awaited
– Acknowledgment to the user when Client Endpoint connected to the knock-enabled Room successfully and awaiting Moderator’s approval to join the Room.user-connected
– Notification to everyone in the Room when a new user enters the Room.user-disconnected
– Notification to everyone in the Room when a user is disconnected from the Room.bandwidth-updated
– Notification to the user when there is a significant change in the available Bandwidth (Applied on Down Stream).
Streaming
stream-added
– Notification to everyone in the Room when a Stream is published in the Room.stream-removed
– Notification to everyone in the Room when a Stream is unpublished/removed from the Room.stream-failed
– Notification to the Publisher of Stream when they fail to publish the stream.stream-subscribed
– Notification to the user when they subscribe to a remote Stream successfully.stream-unsubscribed
– Notification to the user when they unsubscribe a remote Stream.user-subscribed
– Notification to the Publisher of a Stream when their Stream is subscribed by a user.user-unsubscribed
– Notification to the Publisher of a Stream when their Stream is unsubscribed by a user.active-talkers-updated
– Notification to everyone in the Room when the list of Active Talkers is updated.active-talker-data-in
– When text messages are received.canvas-started
– Notification to everyone in the Room when a Canvas Streaming starts.canvas-stopped
– Notification to everyone in the Room when Canvas Streaming stops.share-started
– Notification to everyone in the Room when Screen Sharing starts.share-stopped
– Notification to everyone in the Room when Screen Sharing stops.user-audio-muted
– Notification to everyone in the Room when a user’s Audio is muted.user-video-muted
– Notification to everyone in the Room when a user’s Video is muted.user-audio-unmuted
– Notification to everyone in the Room when a user’s Audio is unmuted.user-video-unmuted
– Notification to everyone in the Room when a user’s Video is unmuted.
Moderator Controls
user-awaited
– Notification to the Moderator when a user awaits permission to join a knock-enabled Room.room-record-on
– Notification to everyone in the Room when the Session gets recorded.room-record-off
– Notification to everyone in the Room when the Session recording stops.room-muted
– Notification to everyone in the Room when Moderator hard mutes the Room.room-unmuted
– Notification to everyone in the Room when Moderator lifts the hard mute state off the Room.hardmute-user-audio
– Notification to the Participant when Moderator hard mutes their Audio.hardmute-user-video
– Notification to the Participant when Moderator hard mutes their Video.hardunmute-user-audio
– Notification to the Participant when Moderator lifts hard mute state off their Audio.hardunmute-user-video
– Notification to the Participant when Moderator lifts hard mute state off their Video.
Floor Access Controls
floor-requested
– Notification to Moderator when a Participant requests Floor Access.floor-granted
– Notification to Participant when Moderator grants Floor Access permission to them.release-floor
– Notification to Participant when Moderator revokes their Floor Access rights.floor-released
– Notification to the Moderator when a Participant releases Floor Access.floor-denied
– Notification to the Participant when Moderator denies Floor Access permission to them.