创建/销毁房间
1. 房间特性介绍
- 需登录成功后才可创建或销毁房间;
- 房间创建后,将生成全局唯一的房间ID;
- 只要不主动销毁房间,房间号将一直保留;结束房间仅结束当前会话进程,不删除房间号;
- 房间号为8位数字,号码资源虽多,但仍建议销毁不再使用的房间;
- 结束或销毁房间时,房间内用户将自动离开,并会收到 CRVideo_MeetingStopped 通知;
2. WEB API接口
本文主要介绍 SDK 接口,如果想由应用服务器来完成房间管理,可以参考以下 WEB API:
WEB API 创建房间
WEB API 销毁房间
3. 创建房间
- 调用接口:
CRVideo_CreateMeeting2(cookie); // cookie 可选,用于在回调中区分请求,不需要可传 ""
创建结果通过回调返回:成功时触发 CRVideo_CreateMeetingSuccess,失败时触发 CRVideo_CreateMeetingFail。房间创建后,该房间号将一直保留,直至调用 CRVideo_DestroyMeeting 销毁;若仅需结束当前会话,可调用 CRVideo_StopMeeting。
- 回调通知:
// 创建房间成功
CRVideo_CreateMeetingSuccess.callback = function(meetObj, cookie){
// meetObj 为房间信息,参见 [CRVideo_RoomInfoObj](TypeDefinitions.md#CRVideo_RoomInfoObj)
var meetID = meetObj.ID; // 房间号,可用于后续入会、呼叫等
}
// 创建房间失败
CRVideo_CreateMeetingFail.callback = function(sdkErr, cookie){
// sdkErr 为失败原因,可据此提示用户
}
相关 API 请参考:
4. 结束房间
结束房间仅结束当前房间进程,不删除房间号,同一房间号可再次进入使用。通常情况下,房间内无人超过一定时间(默认 30 分钟)会自动结束;如需立即结束当前会话,可调用本接口。
与 5. 销毁房间 的区别:CRVideo_StopMeeting 保留房间号;CRVideo_DestroyMeeting 会删除房间号,房间今后不可再使用该号码。
- 调用接口:
var meetID = 12345678; // 要结束的房间号
CRVideo_StopMeeting(meetID, cookie);
结束结果通过 CRVideo_StopMeetingRslt 回调返回。房间被结束时,仍在房间内的用户会自动离开,并收到 CRVideo_MeetingStopped 通知。
- 回调通知:
// 结束房间结果(仅发起结束的一方收到)
CRVideo_StopMeetingRslt.callback = function(sdkErr, cookie){
// sdkErr == 0 代表成功,其它值代表失败原因
}
// 房间被结束通知(房间内所有成员都会收到)
CRVideo_MeetingStopped.callback = function(){
// 房间已结束,可做离开房间后的 UI 或业务处理
}
相关 API 请参考:
5. 销毁房间
销毁房间会结束房间并删除房间号,SDK 创建的固定房间在不再使用时应当销毁。销毁后该房间号不可再使用。
- 调用接口:
var meetID = 12345678; // 要销毁的房间号
CRVideo_DestroyMeeting(meetID, cookie);
销毁结果通过 CRVideo_DestroyMeetingRslt 回调返回。房间被销毁时,当时仍在房间内的其他用户会自动离开房间,并收到 CRVideo_MeetingStopped 通知。
- 回调通知:
// 销毁房间结果(仅发起销毁的一方收到)
CRVideo_DestroyMeetingRslt.callback = function(sdkErr, cookie){
// sdkErr == 0 代表成功,其它值代表失败原因
}
// 房间被结束通知(房间内所有成员都会收到,例如有人调用了销毁房间)
CRVideo_MeetingStopped.callback = function(){
// 房间已结束,可做离开房间后的 UI 或业务处理
}
相关 API 请参考: