The EnxRoom is a derived Class from EnxRtc. It handles all room related functions to communicate with EnableX, e.g. Connection of End-Points to EnableX Room, publishing & subscribing of streams etc.

References: AttributesMethodsObservers

Private Attributes

  • roomID – Room ID
  • clientID – Unique Client ID assigned by EnableX to the End-Point
  • streams – Dummy Streams to subscribe. Active Talker Notifications gives list of Streams carrying Media
  • remoteStreams – List of Remote Streams
  • localStreams – List of Local Streams
  • status – Room Connect Status: Enum (1=Connecting, 2=Connected, 0=Disconnected)
  • awaitedParticipants – List of Clients waiting for Moderator approval to get into a knock-enabled Room
  • raisedHands – List of Clients requested Floor Access in a Lecture Mode
  • approvedHands – List of Clients with approved Floor Access in a Lecture Mode

Methods

Given below a categorized listing of methods:

Connection

  • connect() – To connect End-Client to the Room
  • disconnect() – To disconnect End-Point from the room
  • getRoomMetaData() – To get complete Meta Data of the connected Room
  • getRoomId() – To get Room ID
  • getMode() – To get Room Mode viz. group or lecture
  • getRole()– To get role of user connected to the room, viz. moderator or participant
  • getClientId – To get Client ID of the connected user to the room
  • getUserList() – To get a list of users connected to the room
  • getAvailableFiles() – To get a list of files shared in the room after joining the session
  • getClientName() – To get Client Name of connected user to the room

Streaming

Moderator Controls

Devices

Miscellaneous

Observers & their Callbacks

Room Observer

Given below is a list of Callbacks of Room Observer categorized by their functions. The Room Observer is initiated with along with Room Initialization Process.

Connection

  • onRoomConnected – When Client End Point is connected to the room successfully
  • onRoomDisConnected – Client End Point got disconnected to the room
  • onRoomError – Client End Point’s attempt to connect to room has failed
  • onUserConnected – Everyone is notified that a new user is connected to the Room
  • onUserDisConnected – Everyone is notified that a connected user is disconnected from the Room
  • onConnectionLost – When End Point looses network connection
  • onConnectionInterrupted – When connection is interrupted e.g Switch from WiFi to 4G and vice versa
  • onUserReconnectSuccess – When End-Point successfully gets reconnected with EnableX
  • onReconnect – When End-Point trying to reconnect within given time period

Streaming

  • onPublishedStream – Publisher is notified that its Stream has been published into the Room
  • onUnPublishedStream – Publisher is notified that its Stream is unpublished/removed from the Room
  • onStreamAdded – Everyone is notified that a Published Stream is unpublished or removed from the Room
  • onRemovedStream – Everyone is notified that a Published Stream is unpublished or removed from the Room
  • onSubscribedStream – Participant is notified that he successfully subscribed to a stream
  • onActiveTalkerList – Everyone is notified with a updated list of Active Talkers
  • onCanvasStarted – Everyone is notified that a Canvas Streaming has started
  • onCanvasStopped – Everyone is notified that ongoing Canvas Streaming has stopped

Devices

  • onNotifyDeviceUpdate – Client End Point is notified that Audio Device is changed
  • onDeviceAdded – Client End Point is notified that new Audio Device is added
  • onDeviceRemoved – Client End Point is notified that Audio Device is removed

Miscellaneous

  • onEventError – When Client End Point failed to perform an event
  • onSwitchedUserRoleChange – Moderator is acknowledged that he has requested for Switch User Role
  • onUserRoleChanged – All participants are notified with a message that a new user has been appointed as moderator. Also, the newly appointed moderator is notified with extra information
  • onReceivedChatDataRoom – Receives message in JSONObject

Log Observer

Observer: EnxRoom.setLogsObserver(EnxLogsObserver-Object) – to receive callbacks listed below:

  • onLogUploaded – When log is uploaded to the Server successfully

Recording Observer

Observer: EnxRoom.setRecordingObserver(EnxRecordingObserver-Object) – to receive callbacks listed below:

  • onStartRecordingEvent – Moderator is acknowledged when Recording starts
  • onStopRecordingEvent – Moderator is acknowledged when Recording stops
  • onRoomRecordingOn – All participants are notified when Recording starts
  • onRoomRecordingOff – All participants are notified when Recording stops

Hard Mute Observer

Observer: EnxRoom.setMuteRoomObserver(EnxMuteRoomObserver-Object) – to receive callbacks listed below:

  • onMutedRoom – Moderator is acknowledged when Room is put on Hard Mute state
  • onUnMutedRoom – Moderator is acknowledged when Room is put off Hard Mute state
  • onReceivedMuteRoom – Other participants are notified that Room is put on Hard Mute state
  • onReceivedUnMuteRoom – Other participants are notified that Room is put off Hard Mute state

Screen Share Observer

Observer: EnxRoom.setScreenShareObserver(EnxScreenShareObserver-Object) – to receive callbacks listed below:

  • onScreenSharedStarted – All participants are notified that Screen Share has started
  • onScreenSharedStopped – All participants are notified that Screen Share has stopped

File Share Observer

Observer: setFileShareObserver(EnxFileShareObserver-Object) – to receive callbacks listed below:

  • At File Sender End
    • onInitFileUpload – To notify sender that file upload process is initiated
    • onFileUploaded – To notify sender that file has been uploaded
    • onFileUploadFailed – To notify sender that file upload process has failed
  • At File Receiver End
    • onFileUploadStarted – To notify intended receiver that a file is being uploaded
    • onFileAvailable – To notify intended received that a file is ready to download

Bandwidth Observer

Observer: EnxRoom.setBandwidthObserver(EnxBandwidthObserver-Object) – to receive callbacks listed below:

  • onBandWidthUpdated – End Point is notified when significant change noticed in downstream bandwidth

Lecture Mode Observer

Observer: EnxRoom.setChairControlObserver(EnxChairControlObserver-Object) – to receive callbacks listed below:

  • onFloorRequested – Participant is acknowledged that Moderator received his request for Floor Access
  • onFloorRequestReceived – Moderator is notified about a new request received for Floor Access
  • onGrantedFloorRequest – Participant is notified that moderator has granted him Floor Access
  • onDeniedFloorRequest – Participant is notified that moderator has denied Floor Access
  • onReleasedFloorRequest – Participant is notified that moderator has revoked Floor Access from him
  • onProcessFloorRequested – Moderator is acknowledged on his actions on Floor Requests viz. on grant, deny and release floor access

Active Talker Observer

Observer: EnxRoom.setTalkerObserver(EnxTalkerObserver-Object) – to receive callbacks listed below:

  • onMaxTalkerCount – End-Point receives maximum number of permissible Active Talkers
  • onGetTalkerCount – End-Point receives number of Talkers is set to receive in Active Talker List
  • onSetTalkerCount – End-Point is notified when you update number of Talkers to receive in Active Talker List

Stats Observer

Given below is a list of Callbacks of Stats Observer. The Stats Observer is initiated with along with Stats Enabling Process.

  • onAcknowledgeStats – End-Point is notified that it is set to receive Stream Statistics
  • onReceivedStats – End-Point is notified with Stream Statistics

Explore Android SDK