实现基础功能

更新时间: 2022/10/12 09:48:13

本文为您介绍如何通过 NELiveKit 提供的一套简单易用的接口,快速地将互动直播基础功能集成至现有应用中。

初始化

在调用 SDK 接口之前,您首先需要调用 initialize 方法完成初始化操作。该接口无额外回调结果数据。

  NELiveKit.getInstance().initialize(this, options, new NELiveCallback<Unit>() {
              @Override
              public void onSuccess(Unit unit) {
                  //TODO when initialize success
              }
              public void onFailure(int code, String msg) {
                  //TODO when initialize fail
              }
  });

登录鉴权

请求 SDK 进行登录鉴权,您只有完成 SDK 登录鉴权才可以创建直播间。

配置步骤

  1. 请在登录先获取账号 ID 和 Token。账号信息由网易云信的互动直播应用服务器下发,但 SDK 不提供对应接口获取该信息,需要您自行实现相关业务逻辑。

    String accountId = "accountId";
    String accountToken = "accountToken";
    
  2. 调用 login 方法登录并进行回调处理,该接口无额外回调结果数据。

    NELiveKit.getInstance().login(accountId, accountToken, new NELiveCallback<Unit>() {
        @Override
        public void onSuccess(Unit unit) {
            //TODO when login success
        }
        public void onFailure(int code, String msg) {
            //TODO when login fail
        }
    });
    

注意事项

SDK 不提供账号注册机制。您在自己的应用中集成 SDK 时,需要将用户帐号与互动直播系统中的帐号(accountId)进行绑定。

创建直播间并开始直播

在已经完成 SDK 登录鉴权的状态下,创建一个直播间。

实现步骤

  1. 调用 startLive 方法创建并开始一个新的直播间,并进行回调处理。
  NELiveKit.getInstance().startLive(int liveType, String liveTopic, String cover, new NELiveCallback<Unit> {
      @Override
      public void onSuccess(Unit unit) {
          //TODO when startLive success
      }
      public void onFailure(int code, String msg) {
          //TODO when startLive fail
      }
  });
  1. 创建直播成功后,可以通过获取直播间成员列表查看该直播间,其他观众可通过直播号加入该直播间。

注意事项

  • 该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

  • 当直播间内有主播/连麦者发布多媒体流,且正确设置了推流任务时,通话房间外的观众可以通过 CDN 直播拉流地址进行拉流播放。云信同时提供播放器 SDK 供您使用,详细内容请参考直播-播放器 SDK

停止直播

在已经完成 SDK 登录鉴权的状态下,停止一个已由自己创建的直播间。

实现步骤

  1. 调用 stopLive 方法并进行回调处理。
  NELiveKit.getInstance().stopLive(new NELiveCallback<Unit> {
      @Override
      public void onSuccess(Unit unit) {
          //TODO when stopLive success
      }
      public void onFailure(int code, String msg) {
          //TODO when stopLive fail
      }
  });
  1. 成功停止直播后,其他观众不可以再通过直播号加入该直播间。

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

加入直播间

在已经完成 SDK 登录鉴权的状态下,加入一个当前正在进行中的直播间。

配置步骤

调用 joinLive 方法并进行回调处理。

java  NELiveKit.getInstance().joinLive(String roomUuid, new NELiveCallback<Unit> {
      @Override
      public void onSuccess(Unit unit) {
          //TODO when joinLive success
      }
      public void onFailure(int code, String msg) {
          //TODO when joinLive fail
      }
  });

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

离开直播间

在已经完成 SDK 登录鉴权的状态下,离开一个当前正在进行中的直播间。

配置步骤

调用 leaveLive 方法并进行回调处理。

  NELiveKit.getInstance().leaveLive(new NELiveCallback<Unit> {
      @Override
      public void onSuccess(Unit unit) {
          //TODO when leaveLive success
      }
      public void onFailure(int code, String msg) {
          //TODO when leaveLive fail
      }
  });

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

邀请其他主播 PK

在已开播的状态下,邀请其他主播进行 PK。

配置步骤

调用 invitePK 方法并进行回调处理。

  NELiveKit.getInstance().invitePK(String accId, new NELiveCallback<AnchorPkInfo> {
      @Override
      public void onSuccess(AnchorPkInfo anchorPkInfo) {
          //TODO when invitePK success
      }
      public void onFailure(int code, String msg) {
          //TODO when invitePK fail
      }
  });

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

取消邀请其他主播 PK

在已开播的状态下,取消邀请其他主播进行PK。

配置步骤

调用 cancelInvitePK 方法并进行回调处理。

  NELiveKit.getInstance().cancelInvitePK(new NELiveCallback<Unit> {
      @Override
      public void onSuccess(Unit unit) {
          //TODO when cancelInvitePK success
      }
      public void onFailure(int code, String msg) {
          //TODO when cancelInvitePK fail
      }
  });

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

接受其他主播的 PK 邀请

在已开播的状态下,接受其他主播的 PK 邀请。

配置步骤

调用 acceptPK 方法并进行回调处理。

    NELiveKit.getInstance().acceptPK(new NELiveCallback<Unit> {
        @Override
        public void onSuccess(Unit unit) {
            //TODO when acceptPK success
        }
        public void onFailure(int code, String msg) {
            //TODO when acceptPK fail
        }
    });

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

拒接其他主播的 PK 邀请

在已开播的状态下,拒绝其他主播的 PK 邀请。

配置步骤

调用 rejectPK 方法并进行回调处理。

  NELiveKit.getInstance().rejectPK(new NELiveCallback<Unit> {
      @Override
      public void onSuccess(Unit unit) {
          //TODO when rejectPK success
      }
      public void onFailure(int code, String msg) {
          //TODO when rejectPK fail
      }
  });

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

给主播打赏礼物

在加入其他主播的直播间的状态下,给该主播打赏。

配置步骤

调用 reward 方法并进行回调处理。

    NELiveKit.getInstance().reward(int gift, new NELiveCallback<Unit> {
        @Override
        public void onSuccess(Unit unit) {
            //TODO when reward success
        }
        public void onFailure(int code, String msg) {
            //TODO when reward fail
        }
    });

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

获取直播间列表

在已经完成 SDK 登录鉴权的状态下,获取直播间列表。

配置步骤

调用 requestLiveList 方法查询直播间列表并进行回调处理。您可根据错误码判断调用是否成功。

 NELiveKit.getInstance().requestLiveList(int type, int status, int pageNum, int pageSize, new NELiveCallback<LiveListResponse> {
      @Override
      public void onSuccess(LiveListResponse unit) {
          //TODO when requestLiveList success
      }
      public void onFailure(int code, String msg) {
          //TODO when requestLiveList fail
      }
  });

注意事项

该接口仅支持在直播间内调用,其他情况下会调用失败。

查询当前直播间是否在 PK

在加入其他主播的直播间或者自己开播的状态下,查询当前直播间是否在 PK。

配置步骤

调用 isPK 方法获取直播间 PK 状态。

  NELiveKit.getInstance().isPK();

注意事项

该接口仅支持在直播间内调用,其他情况下会调用失败。

查询直播间信息

在已经完成 SDK 登录鉴权的状态下,查询一个直播间的信息。

配置步骤

调用 requestLiveInfo 方法查询直播间信息并进行回调处理。您可根据错误码判断调用是否成功。

  NELiveKit.getInstance().requestLiveInfo(String liveRecordId, new NELiveCallback<LiveInfo> {
      @Override
      public void onSuccess(LiveInfo unit) {
          //TODO when requestLiveInfo success
      }
      public void onFailure(int code, String msg) {
          //TODO when requestLiveInfo fail
      }
  });

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

查询直播间成员列表

在加入其他主播的直播间或者自己开播的状态下,获取直播间成员列表。

配置步骤

调用 getMembers 方法获取直播间成员列表。

  NELiveKit.getInstance().getMembers();

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

直播间内的操作

用户在直播间内,可以做切换摄像头、开关音频、开关视频等操作。

配置步骤

调用以下接口实现直播间内的操作并进行回调处理。您可根据错误码判断调用是否成功。

 //开启预览
 NELiveKit.getInstance.getMediaController().startPreview(NeteaseView directCDNVideoView, boolean frontCamera);
 NELiveKit.getInstance.getMediaController().stopPreview();
 //切换摄像头
 NELiveKit.getInstance.getMediaController().switchCamera();
 //开关音频
 NELiveKit.getInstance.getMediaController().muteLocalAudio(boolean mute, NECallback<Unit> callback);
 //开关视频
 NELiveKit.getInstance.getMediaController().muteLocalVideo(boolean mute, NECallback<Unit> callback);
 //发送消息,可通过注册 NELiveListener 类的 onTextMessageReceived 回调接收消息
 NELiveKit.getInstance().sendMessage("text", new NELiveCallback<Unit> {
    @Override
    public void onSuccess(Unit unit) {
        //TODO when sendMessage success
    }
    public void onFailure(int code, String msg) {
        //TODO when sendMessage fail
    }
 });
 //在自己的直播间静音PK的主播
 NELiveKit.getInstance.getMediaController().mutePKAudio(String uuid, boolean mute, NECallback<Unit> callback);
 //绑定PK时,自己的画布
 NELiveKit.getInstance.getMediaController().bindLocalCanvas(NERoomVideoView view);
 NELiveKit.getInstance.getMediaController().bindRemoteCanvas(view: NERoomVideoView, userUuid: String);

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

监听直播间状态

通过注册直播间状态回调接口,主播可获取到直播间状态变更的通知。

配置步骤

设置以下直播间监听器,并在回调方法中处理相关事件。

  NELiveListener listener = new NELiveListener() {
      @Override
      public void onLiveStarted() {
          //直播开始
      }
      @Override
      public void onLoginKickedOut() {
          //登录被踢出
      }
      @Override
      public void onLiveEnd(int reason) {
          //直播结束
      }
      @Override
      public void onTextMessageReceived(@NonNull NERoomTextMessage message) {
          //收到消息
      }
      @Override
      public void onRewardReceived(@NonNull RewardMsg rewardMsg) {
          //收到礼物消息
      }
      @Override
      public int onVideoFrameCallback(@NonNull VideoFrame videoFrame) {
          //视频帧回调,可以做美颜处理
      }
      @Override
      public void onPKInvited(@NonNull PkActionMsg pkUser) {
          //收到PK邀请
      }
      @Override
      public void onPKAccepted(@NonNull PkActionMsg pkUser) {
          //其他主播接受我的PK邀请
      }
      @Override
      public void onPKRejected(@NonNull PkActionMsg pkUser) {
          //其他主播拒绝我的PK邀请
      }
      @Override
      public void onPKCanceled(@NonNull PkActionMsg pkUser) {
          //其他主播取消PK邀请
      }
      @Override
      public void onPKTimeoutCanceled(@NonNull PkActionMsg pkUser) {
          //PK邀请超时
      }
      @Override
      public void onPKStart(@NonNull PkStartInfo startInfo) {
          //PK开始
      }
      @Override
      public void onPKPunishStart(@NonNull PkPunishInfo punishInfo) {
          //PK惩罚开始
      }
      @Override
      public void onPKEnd(@NonNull PkEndInfo endInfo) {
          //PK结束
      }
      @Override
      public void onMembersLeave(@NonNull List<? extends NERoomMember> members) {
          //直播间成员离开
      }
      @Override
      public void onMembersJoin(@NonNull List<? extends NERoomMember> members) {
          //直播间成员加入
      }

      @Override
      public void onError(int code) {
          //直播间错误
      }
  };
  NELiveKit.getInstance().setLiveListener(listener);

注意事项

该接口仅支持在登录鉴权成功后调用,其他情况下会调用失败。

注销账号

请求 SDK 注销当前已登录账号。账号注销后,登录状态会被清空,不再允许使用该账号创建直播间。

配置步骤

调用 logout 接口退出登录,该接口无额外回调结果数据。您可根据错误码判断调用是否成功。

  NELiveKit.getInstance().logout(new NELiveCallback<Unit> {
      @Override
      public void onSuccess(Unit unit) {
          //TODO when logout success
      }
      public void onFailure(int code, String msg) {
          //TODO when logout fail
      }
  });
此文档是否对你有帮助?
有帮助
去反馈
  • 初始化
  • 登录鉴权
  • 配置步骤
  • 注意事项
  • 创建直播间并开始直播
  • 实现步骤
  • 注意事项
  • 停止直播
  • 实现步骤
  • 注意事项
  • 加入直播间
  • 配置步骤
  • 注意事项
  • 离开直播间
  • 配置步骤
  • 注意事项
  • 邀请其他主播 PK
  • 配置步骤
  • 注意事项
  • 取消邀请其他主播 PK
  • 配置步骤
  • 注意事项
  • 接受其他主播的 PK 邀请
  • 配置步骤
  • 注意事项
  • 拒接其他主播的 PK 邀请
  • 配置步骤
  • 注意事项
  • 给主播打赏礼物
  • 配置步骤
  • 注意事项
  • 获取直播间列表
  • 配置步骤
  • 注意事项
  • 查询当前直播间是否在 PK
  • 配置步骤
  • 注意事项
  • 查询直播间信息
  • 配置步骤
  • 注意事项
  • 查询直播间成员列表
  • 配置步骤
  • 注意事项
  • 直播间内的操作
  • 配置步骤
  • 注意事项
  • 监听直播间状态
  • 配置步骤
  • 注意事项
  • 注销账号
  • 配置步骤