登录房间

初始化SDK之后,必须先登录房间,才能进行后面的推流播流。

步骤

因为以下接口方法调用一般是基于视频UI操作进行的,所以调用以下方法前,需要您已经创建了自己的视频展示界面的类了,比如下图样式的多人视频的UI,Demo中的UI仅提供演示。

demo演示

1 登录房间

调用方法 - (int)loginRoom:(NSString )roomId userId:(NSString )userId role:(ChuangUserRole)userRole 实现登录房间。

// Objective-C

/*!
@brief 登录房间,初始化后需要先登录房间,登录成功后才可以推流或播放
@param roomId  要登录的房间号
@param userId 当前用户的 userId
@param userRole 用户的角色 
@return 返回 0 表示成功发送登录请求,其他值均为发送失败
*/

int result = [self.liveEngine loginRoom:roomId userId:userId role:userRole];

方法参数说明:

参数 类型 是否必传 描述
roomId NSString 必传 APP内房间唯一标识,支持数字、字母、下划线,最大不超过256个字符
userId NSString 必传 APP内用户唯一标识,避免出现重复,支持数字、字母、下划线,
userRole ChuangUserRole 必传 用户的角色,详情参照ChuangUserRole

2 退出房间

用户退出房间时调用方法 logoutRoom

// Objective-C
/*!
@brief 退出房间   
*/

[self.liveEngine logoutRoom];

3 实现回调代理方法

实现代理方法的类需要遵守协议 ChuangLiveEngineDelegate

3.1 房间状态变化回调

本用户调用登录房间、退出房间方法后,都会触发ChuangLiveEngineDelegate 中的该回调方法,在方法内根据业务需要处理流操作。此外,当网络出现异常或者用户被封禁时,也会触发该网络状态变化回调方法。房间状态state详情参照ChuangRoomState描述。errorCode为0表示用户正常调用返回,非0表示其他原因引起状态变化,错误码详情参照iOS错误码

注意

只有房间连接状态成功(state为ChuangRoomStateConnected )才能推流或者播流、混流等操作。

// Objective-C

/*!
 @brief 房间状态变化
 @param roomId 房间ID
 @param state 房间状态
 @param errorCode 异常码
 */
- (void)onRoomStateUpdate:(NSString *)roomId state:(ChuangRoomState)state errorCode:(int)errorCode{

   //此处,根据返回state errorCode,实现推流/播流或异常处理代码;
}

results matching ""

    No results matching ""