Properties:
| Name | Type | Description |
|---|---|---|
isRecording |
boolean | Whether or not the Room is being recorded |
localParticipant |
LocalParticipant | Your LocalParticipant in the Room |
name |
string | The Room's name |
participants |
Map.<Participant.SID, RemoteParticipant> | The RemoteParticipants participating in this Room |
sid |
Room.SID | The Room's SID |
state |
string | "connected" or "disconnected" |
Fires:
- Room#event:disconnected
- Room#event:participantConnected
- Room#event:participantDisconnected
- Room#event:recordingStarted
- Room#event:recordingStopped
- Room#event:trackAdded
- Room#event:trackDimensionsChanged
- Room#event:trackDisabled
- Room#event:trackEnabled
- Room#event:trackMessage
- Room#event:trackRemoved
- Room#event:trackStarted
- Room#event:trackSubscribed
- Room#event:trackUnsubscribed
Throws:
Methods
-
disconnect()
-
Disconnect from the Room.
Returns:
- Type
- this
-
getStats()
-
Get the Room's media statistics.
Returns:
- Type
- Promise.<Array.<StatsReport>>
Type Definitions
-
SID
-
Type:
- string
Events
-
disconnected
-
Your LocalParticipant was disconnected from the Room and all other RemoteParticipants.
Parameters:
Name Type Argument Description roomRoom The Room your LocalParticipant was disconnected from
errorTwilioError <nullable>
Present when the LocalParticipant got disconnected from the Room unexpectedly
Example
myRoom.on('disconnected', function(room, error) { if (error) { console.log('Unexpectedly disconnected:', error); } myRoom.localParticipant.tracks.forEach(function(track) { track.stop(); track.detach(); }); }); -
participantConnected
-
A RemoteParticipant joined the Room.
Parameters:
Name Type Description participantRemoteParticipant The RemoteParticipant who joined
Example
myRoom.on('participantConnected', function(participant) { console.log(participant.identity + ' joined the Room'); }); -
participantDisconnected
-
A RemoteParticipant left the Room.
Parameters:
Name Type Description participantRemoteParticipant The RemoteParticipant who left
Example
myRoom.on('participantDisconnected', function(participant) { console.log(participant.identity + ' left the Room'); participant.tracks.forEach(function(track) { track.detach().forEach(function(mediaElement) { mediaElement.remove(); }); }); }); -
recordingStarted
-
The Room is now being recorded
-
recordingStopped
-
The Room is no longer being recorded
-
trackAdded
-
A RemoteTrack was added by a RemoteParticipant in the Room.
Parameters:
Name Type Description trackRemoteTrack The RemoteTrack that was added
participantRemoteParticipant The RemoteParticipant who added the RemoteTrack
Example
room.on('trackAdded', function(track, participant) { var participantView = document.getElementById('participant-view-' + participant.identity); participantView.appendChild(track.attach()); }); -
trackDimensionsChanged
-
One of the RemoteParticipant's VideoTrack's dimensions changed.
Parameters:
Name Type Description trackRemoteVideoTrack The RemoteVideoTrack whose dimensions changed
participantRemoteParticipant The RemoteParticipant whose RemoteVideoTrack's dimensions changed
-
trackDisabled
-
A RemoteTrack was disabled by a RemoteParticipant in the Room.
Parameters:
Name Type Description trackRemoteTrack The RemoteTrack that was disabled
participantRemoteParticipant The RemoteParticipant who disabled the RemoteTrack
-
trackEnabled
-
A RemoteTrack was enabled by a RemoteParticipant in the Room.
Parameters:
Name Type Description trackRemoteTrack The RemoteTrack that was enabled
participantRemoteParticipant The RemoteParticipant who enabled the RemoteTrack
-
trackMessage
-
A message was received over one of the RemoteParticipant's RemoteDataTrack's.
Parameters:
Name Type Description datastring | ArrayBuffer trackRemoteVideoTrack The RemoteDataTrack over which the message was received
participantRemoteParticipant The RemoteParticipant whose RemoteDataTrack received the message
-
trackRemoved
-
A RemoteTrack was removed by a RemoteParticipant in the Room.
Parameters:
Name Type Description trackRemoteTrack The RemoteTrack that was removed
participantRemoteParticipant The RemoteParticipant who removed the RemoteTrack
Example
room.on('trackRemoved', function(track, participant) { track.detach().forEach(function(mediaElement) { mediaElement.remove(); }); }); -
trackStarted
-
One of a RemoteParticipant's RemoteTracks in the Room started.
Parameters:
Name Type Description trackRemoteTrack The RemoteTrack that started
participantRemoteParticipant The RemoteParticipant whose RemoteTrack started
-
trackSubscribed
-
A RemoteParticipant's RemoteTrack was subscribed to.
Parameters:
Name Type Description trackRemoteTrack The RemoteTrack that was subscribed
participantRemoteParticipant The RemoteParticipant whose RemoteTrack was subscribed
Example
room.on('trackSubscribed', function(track, participant) { var participantView = document.getElementById('participant-view-' + participant.identity); participantView.appendChild(track.attach()); }); -
trackUnsubscribed
-
A RemoteParticipant's RemoteTrack was unsubscribed from.
Parameters:
Name Type Description trackRemoteTrack The RemoteTrack that was unsubscribed
participantRemoteParticipant The RemoteParticipant whose RemoteTrack was unsubscribed
Example
room.on('trackUnsubscribed', function(track, participant) { track.detach().forEach(function(mediaElement) { mediaElement.remove(); }); });