登陆房间

登陆房间

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

步骤

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

demo演示

1 登陆房间

调用方法 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 必传 遵循协议的自定义类,实现代理回调方法,不可传空

2 退出房间

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

// Objective-C
/*!
@brief 退出房间   
@param roomId 要退出的房间id
*/

[self.liveSDkManager  logoutRoom:roomId];

3 实现回调代理方法

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

实现以下登陆房间回调方法,从而处理登陆房间结果。注意:只有调用了登陆房间接口,才会触发回调,若调用了登陆方法但没有收到回调,请检查是否调用了登陆方法且传入的delegate是否为当前处理回调的非空类。

本用户登录房间回调

本用户调用登陆房间方法后,会触发CCLiveEngineDelegate 中的该回调方法,在方法内根据业务需要处理推流或播流操作。

注意

只有登录成功才能推流或者播流、混流等操作。

// Objective-C

/*!
 @brief 登录房间回调
 @param code 0 代表登录成功,其他值均为不成功,只有登录成功后才可以推流或播放
 */

 - (void)onLoginRoomCallBack:(int)code{

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

本用户退出房间回调

当本用户调用退出房间方法时,会触发用户退出房间回调:onLogoutRoomBack

  // Objective-C

 /*!
   @brief 退出房间回调
 */
  - (void)onLogoutRoomCallBack{

      //处理退出房间的操作,比如返回上一层界面

  }