The EnxRoom is a Derived Class from EnxRtc. It handles all the room-related functions to communicate with EnableX such as connection of Client endpoints to EnableX Room, publishing and subscription of Streams etc.

References: AttributesMethodsDelegates

Properties

  • roomID – Unique Room ID generated for each Room
  • roomMetadata – Complete Room Information.
  • clientID –  Unique Client ID assigned by EnableX to the client endpoint.
  • clientName – Name of the Client connected from the endpoint.
  • userRole – Role of the Client connected from the endpoint.
  • publishStreamId – Published Local Stream ID.
  • publishStream – Published Local Stream Object.
  • remoteStreams – List of Remote Streams.
  • streamsByStreamId – Dictionary of Stream Objects.
  • userList – List of users connected to the Room.
  • isRoomActiveTalker – BOOL. If Active Talker is enabled in the Room.
  • publishingStats – Local Stream publishing stats.

Methods

Given below a categorized listing of methods:

Connection

  • connect – To connect client endpoint to the Room.
  • - disconnect – To disconnect client endpoint from the Room.
  • - Whoami – To get the Information of the user connected from the client 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.
  • - setReceiveVideoQuality – To opt to receive a specific video quality.
  • - getMaxTalkers –  To get the maximum number of talkers allowed in the Active Talker List.
  • - setTalkerCount – To set the desired number of talkers you want to receive in the Active Talker List.
  • - getTalkerCount – To get the number of talkers set to be received in the Active Talker List.
  • - enableStats – To know statistics of Local & Remote Streams.
  • - requestFloor – To request Floor Access from Moderator to publish Stream in Lecture Mode.

Moderator Controls

Devices

Miscellaneous

  • postClientLogs – To submit client endpoint logs to the EnableX Team to audit.
  • - changeToAudioOnly – To change from normal to Audio-Only mode where the user can neither receive or publish their video and vice-versa.
  • - applicationDidEnterBackground – To handle the state of Streams during application switch to background.
  • - applicationWillEnterForeground – To handle the state of Streams during application switch to foreground.
  • - sendMessage – To send public and private messages to other users in the Room.
  • - sendFiles – To upload files to share with all or selected users in the Room.
  • - getAvailableFiles – To get a list of files available for download.
  • – downloadFile: – To download available files.

Delegate Methods

Given below is a list of Delegate Methods categorized by their functions.

Connection

  • - room:didConnect – Acknowledgment to the user when the client endpoint is connected to the room successfully.
  • - roomDidDisconnected – Acknowledgment to the user when the client endpoint gets disconnected from the Room.
  • - room:didError – Acknowledgment to the user when the client endpoint fails to connect to the Room.
  • - room:userDidJoined – Notification to everyone in the Room when a new user joins the Room.
  • - room:userDidDisconnected – Notification to everyone in the Room when a user is disconnected from the Room.

Re-connection

  • - room:didConnectionLost – Acknowledgment to the user when the client endpoint loses network connection.
  • - room:didConnectionInterrupted – Acknowledgment to the user when the client endpoint’s connection is interrupted such as a switch from WiFi to 4G and vice versa.
  • - room:didUserReconnectSuccess– Acknowledgment to the user when the client endpoint gets reconnected with EnableX successfully.
  • - room:didReconnect – Acknowledgment to the user when the client endpoint is trying to reconnect within the given time period.

Streaming

  • - room:didPublishStream – Acknowledgment to the user when the user’s Stream is published into the Room successfully.
  • - room:didUnpublishStream – Acknowledgment to the user when the user’s Stream is unpublished/removed from the Room.
  • - room:didAddedStream – Notification to everyone in the Room when a Stream is published in the Room.
  • - room:didRemovedStream – Notification to everyone in the Room when a Stream is unpublished/removed from the Room.
  • - room:didSubscribeStream – Acknowledgment to the user when they successfully subscribe to a Remote Stream.
  • - room:activeTalkerList – Notification to everyone in the Room when the list of Active Talkers is updated.

Devices

  • - didNotifyDeviceUpdate – Acknowledgment to the user when an Audio device is changed.

Logging

  • - didLogUpload – When log is uploaded to the Server successfully.

Recording

  • - startRecordingEvent – Acknowledgment to the Moderator when Recording starts.
  • - stopRecordingEvent – Acknowledgment to the Moderator when Recording stops.
  • - roomRecordOn – Notification to all the participants when Recording starts.
  • - roomRecordOff – Notification to all the participants when Recording stops.

Hard Mute

  • - didMutedAllUser – Acknowledgment to the Moderator when the Room is put on a Hard Mute state.
  • - didUnMutedAllUser – Acknowledgment to the Moderator when the Room is put off a Hard Mute state.
  • - didHardMutedAll – Notification to all the participants when the Room is put on a Hard Mute state.
  • - didHardUnMuteAllUser – Notification to all the participants when the Room is put off a Hard Mute state.

Screen Sharing

  • - room:screenSharedStarted – Notification to everyone in the Room when Screen Sharing starts.
  • - room:screenSharedStopped – Notification to everyone in the Room when Screen Sharing stops.

Canvas Streaming

  • - room:canvasStarted – Notification to everyone in the Room when Canvas Streaming has starts.
  • - room:canvasStopped – Notification to everyone in the Room when Canvas Streaming has stops.

Lecture Mode

  • - didFloorRequested – Acknowledgment to the Participant when their request for Floor Access is sent to the Moderator.
  • - didFloorRequestReceived – Notification to the Moderator when a new request for Floor Access is received.
  • - didGrantFloorRequested – Notification to the Participant when the Moderator grants them Floor Access.
  • - didDenyFloorRequested – Notification to the Participant when the Moderator denies Floor Access to them.
  • - didReleaseFloorRequested – Notification to the Participant when the Moderator revokes their Floor Access permission.
  • - didProcessFloorRequested – Acknowledgment to the Moderator on his actions regarding Floor Requests such as grant, deny, and release floor access.

Active Talker

  • room:didGetMaxTalkers – Notification to the user with information on the maximum number of permissible Active Talkers in the Room.
  • - room:didGetTalkerCount – Notification to the user with information on the number of Talkers set to be received in the Active Talker List.
  • - room:didSetTalkerCount – Acknowledgment to the user when they update the number of Talkers to be received in the Active Talker List.

Stats

  • - didAcknowledgeStats – Acknowledgment to the user when the Stream stats are enabled or disabled.
  • - didReceiveStats – Notification to the user when Stream Statistics are received.

File Sharing

  • At File Sender’s End
    • -room:didInitFileUpload – Acknowledgment to the sender when a file upload process is initiated.
    • -room:didFileUploaded – Acknowledgment to the sender when the file is uploaded.
    • -room:didFileUploadFailed – Acknowledgment to the sender when the file upload process fails.
  • At File Receiver’s End
    • -room:didFileUploadStarted – Notification to the intended receiver when a file is being uploaded.
    • -room:didFileAvailable – Notification to the intended receiver when a file is ready for download.
    • -room:didFileDownloaded – Notification to the receiver when the file is downloaded with either Base64 Raw data to be saved (when auto-saving is false) or saved file path.
    • -room:didFileDownloadFailed: – Notification to the receiver when file download fails.

Miscellaneous

  • - room:didBandWidthUpdated – Notification to the user when a significant change is noticed in the downstream bandwidth at the client endpoint.
  • - room:didEventError – Acknowledgment to the user when client endpoint fails to perform an event.
  • - room:didReceiveChatDataAtRoom – Client endpoint receives text messages.
  • - room:didSwitchUserRole – Acknowledgment to the Moderator when they switch a user’s role.
  • - room:didUserRoleChanged – Notification to everyone in the Room when a user is newly appointed as moderator and additional information provided to the newly appointed moderator.

Explore iOS SDK