搭建直播间

更新时间: 2022/10/31 07:24:29

本文介绍通过 NERoom 搭建直播间的操作方法。

注意事项

  1. 需要在控制台配置模板。

  2. 模板需要配置直播功能。

主播端

步骤一 初始化 SDK

        String appKey="your app key";
        HashMap extras=new HashMap<>();
        extras.put("serverUrl","test");
        NERoomKit.getInstance().initialize(this, new NERoomKitOptions(appKey,), new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });

步骤二 Token 认证

      NEAuthService authService = NERoomKit.getInstance().getService(NEAuthService.class);
        String account="your account";
        String token="your token";
        authService.login(account, token, new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });

步骤三 创建房间

        NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
        String roomUuid="123";
        String roomName="roomName";
        String templateId="21";
        NECreateRoomParams params=new NECreateRoomParams(roomUuid,roomName,templateId,null);
        NECreateRoomOptions options = new NECreateRoomOptions();
        roomService.createRoom(params, options, new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });

步骤四 进入房间

         NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
        String roomUuid="123";
        String roomName="roomName";
        String templateId="21";
        NECreateRoomParams params=new NECreateRoomParams(roomUuid,roomName,templateId,null);
        NECreateRoomOptions options = new NECreateRoomOptions();
        roomService.createRoom(params, options, new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });

步骤五 开始推流


      NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
       NERoomContext roomContext = roomService.getRoomContext("");
       if (roomContext!=null){
           NERoomLiveStreamTaskInfo taskInfo=new NERoomLiveStreamTaskInfo();
           roomContext.getRtcController().addLiveStreamTask(taskInfo, new NECallback2<Unit>() {
               @Override
               public void onSuccess(@Nullable Unit unit) {
                   super.onSuccess(unit);
                     Log.d(TAG,"success");
               }

               @Override
               public void onError(int code, @Nullable String message) {
                   super.onError(code, message);
                     Log.d(TAG,"error");
               }
           });
       }

观众端

步骤一 初始化 SDK

        String appKey="your app key";
        HashMap extras=new HashMap<>();
        extras.put("serverUrl","test");
        NERoomKit.getInstance().initialize(this, new NERoomKitOptions(appKey,), new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });

步骤二 Token认证

      NEAuthService authService = NERoomKit.getInstance().getService(NEAuthService.class);
        String account="your account";
        String token="your token";
        authService.login(account, token, new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });

步骤三 进入房间

        NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
        String roomUuid="123";
        String roomName="roomName";
        String templateId="21";
        NECreateRoomParams params=new NECreateRoomParams(roomUuid,roomName,templateId,null);
        NECreateRoomOptions options = new NECreateRoomOptions();
        roomService.createRoom(params, options, new NECallback2<Unit>() {
            @Override
            public void onSuccess(@Nullable Unit unit) {
                super.onSuccess(unit);
                Log.d(TAG,"success");
            }

            @Override
            public void onError(int code, @Nullable String message) {
                super.onError(code, message);
                Log.d(TAG,"error");
            }
        });

步骤四 拉流

        NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
        NERoomContext roomContext = roomService.getRoomContext(roomUuid);
        if (roomContext!=null){
            String streamUrl=roomContext.getLive().getPullRtmpUrl();
            // 可集成音视频SDK进行播放,具体参考https://doc.yunxin.163.com/docs/jY3NDM4Nzc/jgyNzg2NzY?platformId=100002
        }
此文档是否对你有帮助?
有帮助
去反馈
  • 注意事项
  • 主播端
  • 步骤一 初始化 SDK
  • 步骤二 Token 认证
  • 步骤三 创建房间
  • 步骤四 进入房间
  • 步骤五 开始推流
  • 观众端
  • 步骤一 初始化 SDK
  • 步骤二 Token认证
  • 步骤三 进入房间
  • 步骤四 拉流