Meeting Class Methods - Unity
GetMeetingObject()
Initializes and returns an instance of the Meeting class.
Parameters
- None
Returns
Meeting: An instance of theMeetingclass.
Example
Meeting meeting = Meeting.GetMeetingObject();
CreateMeetingId()
The CreateMeetingId() method is used to create a new meetingId using the provided authentication token. It triggers the appropriate callback with the generated meeting ID or an error message if the creation fails.
Parameters
- token:
string- A valid authentication token required to authorize the request for creating a meeting.
Returns
void
Callbacks
-
OnCreateMeetingIdCallback:
String- Invoked with the newly created meeting ID on success.
-
OnCreateMeetingIdFailedCallback:
String- Invoked with the error message if the meeting ID creation fails.
Example
Meeting meeting = Meeting.GetMeetingObject();
meeting.OnCreateMeetingIdCallback += (meetingId) =>
{
Debug.Log("Meeting ID created: " + meetingId);
};
meeting.OnCreateMeetingIdFailedCallback += (error) =>
{
Debug.LogError("Failed to create meeting ID: " + error);
};
meeting.CreateMeetingId("YOUR_TOKEN");
Join()
- The
Join()method is used to join a meeting with the provided meeting ID, token, and participant details.
Parameters
-
token:
string- A valid authentication token required to join the meeting.
-
meetingId:
string- The unique identifier of the meeting to join.
-
name:
string- The display name of the participant.
-
micEnabled:
bool- Specifies whether the microphone should be enabled when joining.
-
camEnabled:
bool- Specifies whether the camera should be enabled when joining.
-
CustomVideoStream:
object-
Custom configuration for the stream settings. This parameter is optional.
- Default :
videoEncoder=h240p_w320pfor Android & iOS.
- Default :
-
Parameters:
- videoEncoder:
VideoEncoderConfig(Optional)- Default :
h144p_w176pfor Android,h90p_w160pfor iOS
- Default :
- isMultiStream:
bool(Optional)- Default:
true
- Default:
- videoDevice:
VideoDevice(Optional)- Default: Front camera
- videoEncoder:
-
-
participantId:
string(Optional)- A unique identifier for the participant. If not provided, it will be auto-generated.
Returns
void
Callbacks:
- OnParticipantJoinedCallback: IParticipant
- Triggered when a participant (local or remote) joins the meeting, along with the IParticipant object representing the participant who joined.
Example
private void SetCustomVideoStream()
{
Debug.Log($"Set Custom stream => {videoEncoder}");
CustomVideoStream customVideoStream = new CustomVideoStream(videoEncoder, false, selectedVideoDevice);
//CustomVideoStream customVideoStream = new CustomVideoStream(videoEncoder, false);
//CustomVideoStream customVideoStream = new CustomVideoStream(videoEncoder);
//CustomVideoStream customVideoStream = new CustomVideoStream(isMultiStream : true);
//CustomVideoStream customVideoStream = new CustomVideoStream(videoDevice: selectedVideoDevice);
this.customVideoStream = customVideoStream;
}
// Join the meeting with custom stream configuration
meeting.Join("YOUR_TOKEN", "MEETING_ID", "John Doe", true, true, this.customVideoStream);
// meeting.Join("YOUR_TOKEN", "MEETING_ID", "John Doe", true, true);
The Join method allows developers to define custom values for meetingId and participantId:
meetingIdcan be structured in any preferred format by the developer, e.g.,aaaa-bbbborxxxx-yyyy, instead of following a predefined pattern.participantIdcan also be set by the developer, but it must be unique for each participant in a meeting.
Leave()
- The
Leave()method is used to leave the current ongoing meeting. It triggers relevant callbacks to notify other participants.
Returns
void
Callbacks:
- OnParticipantLeftCallback: IParticipant
- Triggered for all participants (local or remote) when a participant leaves the meeting, along with the IParticipant object representing the participant who left.
Example
Meeting meeting = Meeting.GetMeetingObject();
meeting.OnParticipantLeftCallback += (iParticipant) =>
{
Debug.Log("Participant left: " + iParticipant.Name);
};
meeting.Leave();
PauseAllStreams()
- The
PauseAllStreams()method pauses active media streams within the meeting. This method affects only the remote participant's streams.
Parameters
- kind:
StreamKind- Specifies the type of media stream to be paused. It can be
StreamKind.AUDIOorStreamKind.VIDEO.
- Specifies the type of media stream to be paused. It can be
Returns
void
Callbacks:
- The participant will receive an OnPausedAllStreamsCallback event containing the
StreamKindrepresenting kind of stream that was paused.
Example
meeting.PauseAllStreams();
ResumeAllStreams()
- The
ResumeAllStreams()method resumes media streams that have been paused.
Parameters
- kind:
StreamKind- Specifies the type of media stream to be resumed. It can be
StreamKind.AUDIOorStreamKind.VIDEO.
- Specifies the type of media stream to be resumed. It can be
Returns
void
Callbacks:
- The participant will receive an OnResumedAllStreamsCallback event containing the
StreamKindrepresenting kind of stream that was resumed.
Example
meeting.ResumeAllStreams();
GetAudioDevices()
-
The
GetAudioDevices()method returns a list of currently available audio devices. The method returns a list ofAudioDeviceInfoobjects describing the audio devices. -
AudioDeviceInfoclass has three properties :-
AudioDeviceInfo.deviceId- Returns a string that is an identifier for the represented device, persisted across sessions.
-
AudioDeviceInfo.label- Returns a string describing this device (for example
BLUETOOTH).
- Returns a string describing this device (for example
-
AudioDeviceInfo.kind- Returns an enumerated value that is
audio.
- Returns an enumerated value that is
-
Parameters
- None
Returns
AudioDeviceInfo[]
Example
Meeting meeting = Meeting.GetMeetingObject();
AudioDeviceInfo[] audioDevices = meeting.GetAudioDevices();
// Display available audio devices
if (audioDevices != null && audioDevices.Length > 0)
{
Debug.Log($"Found {audioDevices.Length} audio devices:");
foreach (AudioDeviceInfo device in audioDevices)
{
Debug.Log($"Device ID: {device.deviceId}, Label: {device.label}");
}
}
else
{
Debug.Log("No audio devices found.");
}
GetVideoDevices()
-
The
GetVideoDevices()method returns a list of currently available video devices. The method returns a list ofVideoDeviceInfoobjects describing the video devices. -
VideoDeviceInfoclass has four properties :-
VideoDeviceInfo.deviceId- Returns a string that is an identifier for the represented device, persisted across sessions.
-
VideoDeviceInfo.label- Returns a string describing this device (for example
BLUETOOTH).
- Returns a string describing this device (for example
-
VideoDeviceInfo.kind- Returns an enumerated value that is
video.
- Returns an enumerated value that is
-
VideoDeviceInfo.FacingMode- Returns a value of type
FacingModeindicating which camera device is in use (front or back).
- Returns a value of type
-
Parameters
- None
Returns
VideoDeviceInfo[]
Example
Meeting meeting = Meeting.GetMeetingObject();
VideoDeviceInfo[] videoDevices = meeting.GetVideoDevices();
// Display available video devices
if (videoDevices != null && videoDevices.Length > 0)
{
Debug.Log($"Found {videoDevices.Length} video devices:");
foreach (VideoDeviceInfo device in videoDevices)
{
Debug.Log($"Device ID: {device.deviceId}, Label: {device.label}, Facing: {device.FacingMode}");
}
}
else
{
Debug.Log("No video devices found.");
}
ChangeAudioDevice()
- The
ChangeAudioDevice()method sets the desired audio device, enabling users to choose which device to use in the meeting.
Parameters
- obj:
AudioDeviceInfo
Returns
void
Example
Meeting meeting = Meeting.GetMeetingObject();
// First, get available audio devices
AudioDeviceInfo[] audioDevices = meeting.GetAudioDevices();
// Check if there are any devices available
if (audioDevices != null && audioDevices.Length > 0)
{
// Find a specific device (e.g., a Bluetooth headset)
AudioDeviceInfo audioDevice = null;
foreach (AudioDeviceInfo device in audioDevices)
{
if (device.label.Contains("Bluetooth"))
{
audioDevice = device;
break;
}
}
// Change to the selected device if found
if (audioDevice != null)
{
Debug.Log($"Changing audio device to: {audioDevice.label}");
meeting.ChangeAudioDevice(audioDevice);
}
}
ChangeVideoDevices()
- The
ChangeVideoDevices()method sets the desired video device, enabling users to choose which device to use in the meeting.
Parameters
- obj:
VideoDeviceInfo
Returns
void
Example
Meeting meeting = Meeting.GetMeetingObject();
// First, get available video devices
VideoDeviceInfo[] videoDevices = meeting.GetVideoDevices();
// Check if there are any devices available
if (videoDevices != null && videoDevices.Length > 0)
{
// Find a specific device (e.g., back camera)
VideoDeviceInfo videoDevice = null;
foreach (VideoDeviceInfo device in videoDevices)
{
if (device.FacingMode == FacingMode.back) // Back camera
{
videoDevice = device;
break;
}
}
// Change to the selected device if found
if (videoDevice != null)
{
Debug.Log($"Changing video device to: {videoDevice.label}");
meeting.ChangeVideoDevice(videoDevice);
}
}
GetSelectedAudioDevice()
- The
GetSelectedAudioDevice()method returns theAudioDeviceInfoobject representing the audio device currently in use.
Parameters
- None
Returns
AudioDeviceInfo: An object containing information about the currently selected audio device.
Example
Meeting meeting = Meeting.GetMeetingObject();
AudioDeviceInfo selectedDevice = meeting.GetSelectedAudioDevice();
if (selectedDevice != null)
{
Debug.Log($"Currently using audio device: {selectedDevice.label} (ID: {selectedDevice.deviceId})");
}
else
{
Debug.Log("No audio device is currently selected.");
}
GetSelectedVideoDevice()
- The
GetSelectedVideoDevice()method returns theVideoDeviceInfoobject representing the video device currently in use.
Parameters
- None
Returns
VideoDeviceInfo: An object containing information about the currently selected video device.
Example
Meeting meeting = Meeting.GetMeetingObject();
VideoDeviceInfo selectedDevice = meeting.GetSelectedVideoDevice();
if (selectedDevice != null)
{
Debug.Log($"Currently using camera: {selectedDevice.label} (ID: {selectedDevice.deviceId})");
Debug.Log($"Camera facing mode: {selectedDevice.FacingMode}");
}
else
{
Debug.Log("No camera is currently selected.");
}
Got a Question? Ask us on discord

