初始化SDK之后,必须先登陆房间,才能进行后面的推拉流。
因为以下接口方法调用一般是基于视频UI操作进行的,所以调用以下方法前,需要您已经创建了自己的视频展示界面的类了,比如下图样式的多人视频的UI,Demo中的UI仅提供演示。
调用方法 loginRoom: userId: role: andDelegate: 实现登陆房间。
// Objective-C
/*!
@brief 登录房间,初始化后需要先登录房间,登录成功后才可以推流或播放
@param roomId 要登录的房间号
@param userId 当前用户的 userId
@param role 用户的角色,1为主播(只推流)2为观众(只播流) 3为连麦互动(既有推流也有播流)
@param delegate 回调对象
@return 返回 0 表示成功发送登录请求,其他值均为发送失败
*/
int result = [self.liveSDkManager loginRoom:roomId userId:userId role:role andDelegate:self];
方法参数说明:
参数 | 类型 | 是否必传 | 描述 |
---|---|---|---|
roomId | NSString | 必传 | APP内房间唯一标识,支持数字、字母、下划线,最大不超过256个字符 |
userId | NSString | 必传 | APP内用户唯一标识,避免出现重复,支持数字、字母、下划线, |
role | int | 必传 | 用户的角色,1为主播(只推流)2为观众(只播流) 3为连麦互动(既有推流也有播流) |
delegate | id | 必传 | 遵循 |
用户退出房间时调用方法 logoutRoom:
// Objective-C
/*!
@brief 退出房间
@param roomId 要退出的房间id
*/
[self.liveSDkManager logoutRoom:roomId];
实现代理方法的类需要遵守协议 CCLiveEngineDelegate
实现以下登陆房间回调方法,从而处理登陆房间结果。注意:只有调用了登陆房间接口,才会触发回调,若调用了登陆方法但没有收到回调,请检查是否调用了登陆方法且传入的delegate是否为当前处理回调的非空类。
本用户登录房间回调:
本用户调用登陆房间方法后,会触发CCLiveEngineDelegate 中的该回调方法,在方法内根据业务需要处理推流或播流操作。
注意:
只有登录成功才能推流或者播流、混流等操作。
// Objective-C
/*!
@brief 登录房间回调
@param code 0 代表登录成功,其他值均为不成功,只有登录成功后才可以推流或播放
*/
- (void)onLoginRoomCallBack:(int)code{
//此处,根据返回code,实现推流/播流或异常处理代码;
}
本用户退出房间回调:
当本用户调用退出房间方法时,会触发用户退出房间回调:onLogoutRoomBack
// Objective-C
/*!
@brief 退出房间回调
*/
- (void)onLogoutRoomCallBack{
//处理退出房间的操作,比如返回上一层界面
}