Start, Join, Leave Meetings
APIs to start, join, and leave meetings are described in IMeetingService.h.
You must implement the IMeetingServiceSink to receive callbacks. In many cases, your API call will command the Zoom Room to take action, but the results may not be available immediately and will be communicated via a callback.
// get the meeting service
IMeetingService* pMeetingService = pRoomService->GetMeetingService();
// implement the meeting service sink to receive callbacks.
IMeetingServiceSink *pMeetingServiceSink = new AutoIMeetingServiceSink();
pMeetingService->RegisterSink(pMeetingServiceSink);
Start a Meeting
Call IMeetingService::StartInstantMeeting to start an instant meeting. Check the ZRCSDKError. If it is ZRCSDKERR_SUCCESS, the API call has been sent to the Zoom Room successfully. The start meeting action will be further handled by the Zoom Rooms application.
ZRCSDKError sdkErr = pMeetingService->StartInstantMeeting();
if (sdkErr == ZRCSDKERR_SUCCESS)
{
// The request was successfully sent to the Zoom Room.
// The Zoom Room will further handle the StartInstantMeeting Action.
// Further updates will come via callback.
}
Join a Meeting
Call IMeetingService::JoinMeeting with the meeting number to join a meeting. Check the ZRCSDKError. If it is ZRCSDKERR_SUCCESS, the API call has been sent to the Zoom Room successfully. The join meeting action will be further handled by the Zoom Rooms application.
ZRCSDKError sdkErr = pMeetingService->JoinMeeting(strMeetingNumber);
if (sdkErr == ZRCSDKERR_SUCCESS)
{
// The request was successfully sent to the Zoom Room.
// The Zoom Room will further handle the JoinMeeting Action.
// Further updates will come via callback.
}
Get the Start or Join Meeting Status
- Check
MeetingStatusinIMeetingServiceSink::OnUpdateMeetingStatus. - Start or join meeting may take several seconds to complete.
- When your application receives the
IMeetingServiceSink::OnConfReadyNotificationcallback, the Zoom Room has successfully started or joined a meeting. - When the start or join meeting commands fail, you will receive a notification via
IMeetingServiceSink::OnMeetingErrorNotification. This notification will include the error code and the error description.
- When your application receives the
Leave a Meeting
Call IMeetingService::ExitMeeting to leave or end a meeting.
// Leave meeting command: ExitMeetingCmdLeave
// End meeting command: ExitMeetingCmdEnd. The Zoom Room must be the host to end.
ZRCSDKError sdkErr = pMeetingService->ExitMeeting(ExitMeetingCmdLeave);
if (sdkErr == ZRCSDKERR_SUCCESS)
{
// The request was successfully sent to the Zoom Room.
// The Zoom Room will further handle the ExitMeeting Action.
// Further updates will come via callback.
}
Fail to Start or Join Meeting
If you fail to start or join a meeting, you will receive IMeetingServiceSink::OnMeetingErrorNotification to notify the error reason.
// For example, if your meeting number is invalid with JoinMeeting API
// You will receive a OnMeetingErrorNotification
{
"command": "OnMeetingErrorNotification",
"paras": [
{
"errorCode": 0,
"errorDescLink": "",
"errorInfo": "This meeting ID is not valid. Please check and try again.",
"errorTitle": ""
}
],
"service": "IMeetingServiceSink"
}