阅读 702

腾讯云教育SDK使用文档

教育sdk

教育sdk简要说明

腾讯云教育sdk是一个集腾讯直播,白板服务和im通讯功能为一体的云教育直播类产品,他可以提供互动直播,聊天及白板服务相关功能
复制代码

初步使用

  1. 工程集成

    如果想把教育直播sdk集成到工程中,我们只需要在app的build文件中添加以下依赖

     compile 'com.tencent.ilivesdk:ilivesdk:1.8.2'
     compile 'com.tencent.boardsdk:boardsdk:0.0.90'
     compile 'com.tencent.confsdk:confsdk:0.0.116'
    复制代码
  2. 初始化操作

如果要使用教育sdk的相关功能,我们需要在使用前进行sdk的初始化操作,官方demo是在主工程Application的主进程中进行的始化操作.

  1. if (MsfSdkUtils.isMainProcess(this)) { // 仅在主线程初始化 }

  2. 初始化livesdk ILVConfSDK.getInstance().initSdk(this, 1400042982, 17802);

  3. 厨师互白板 WhiteboardSDK.getInstance().init(this, 1400042982);

  4. 设置服务器地址 ILVConfSDK.getInstance().setServerAddr(ConfConstants.SERVERADDR);

  5. 设置链接监听

     TIMManager.getInstance().setConnectionListener(new TIMConnListener() {
         @Override
         public void onConnected() {
             Log.e(TAG, "[DEV]onConnected->enter");
         }
         @Override
         public void onDisconnected(int i, String s) {
             Log.e(TAG, "[DEV]onDisconnected->enter");
         }
         @Override
         public void onWifiNeedAuth(String s) {
             Log.e(TAG, "[DEV]onWifiNeedAuth->enter");
         }
     });
    复制代码

//以上2.3.4.5步都是在第一部if判断中初始化

  1. 根据id和密码注册

保存注册信息->执行注册操作

    LoginHelper loginHelper = new LoginHelper(this);//loginhelper提供登录注册逻辑
    loginHelper.regiest(id, pwd);
复制代码
  1. 登录

注册成功后进行登录操作

    loginHelper.login(id,pwd);
复制代码
  1. 登录成功

跳转到列表页面

  1. 加入房间

     //创建房间和加入房间管理类
     EnterConfHelper enterConfHelper = new EnterConfHelper(this);
     //执行加入房间
     创建option参数
     ILVConfOption option = new ILVConfOption(confId, nickName)
             .cameraListener(CameraObservable.getInstance())
             .setEventListener(ConfStatusObservable.getInstance())
             .setMemberStatusListener(MemberObservable.getInstance())
             //.autoRender(false) 自动渲染
             .autoCamera(bEnableCamera)
             .autoMic(bEnableMic);
             
     //加入房间
     ILVConfManager.getInstance().joinConf(option, new ILiveCallBack<ILVConfInfo>() {
         @Override
         public void onSuccess(ILVConfInfo data) {
             ConfDetailInfo detailInfo = (ConfDetailInfo) data;
             UserInfo.getInstance().setConfOwner(UserInfo.getInstance().getAccount().equals(detailInfo.getOwner()));
    
             ClassManager.getInstance().updateHomeScreenInfo(data.getConfName(),
                     ILVConfManager.getInstance().getCurConfInfo().getHomeScreen());
             UserInfo.getInstance().setWhiteBoardEnable(ILVConfManager.getInstance().getCurConfInfo().getHomeScreen().
                     startsWith(HomeScreenManager.HOMESCREEN_WHITEBOARD));
             UserInfo.getInstance().setConfId(data.getConfId());
             UserInfo.getInstance().setCurConfInfo(data);
    
             WhiteboardManager.getInstance().getConfig().
                     setTimePeriod(300).
                     setPaintSize(6).
                     setPaintType(PaintType.PATH).setPaintColor(Color.BLUE);
    
             enterConfView.onJoinConfSuccess(data);
         }
    
         @Override
         public void onError(String module, int errCode, String errMsg) {
             enterConfView.onJoinConfError(module, errCode, errMsg);
         }
     });
     enterConfHelper.joinConf(confId, UserInfo.getInstance().getNickName(), UserInfo.getInstance().isConfOwner(), false);
    复制代码
  2. 初始化白板配置

     WhiteboardConfig config = WhiteboardManager.getInstance().getConfig();
     //config.setBackgroundColor(getResources().getColor(R.color.whiteboard_bg_color));
     WhiteboardManager.getInstance().init(getBaseContext(), config);
    复制代码
  3. 启动课堂界面

    • 给房间实例manager 设置消息接收监听器

        ILVConfManager.getInstance().setConfIMListener(IMMsgObservable.getInstance());
      复制代码
    • 初始化课堂管理 课堂管理,主要接收及响应课堂互动事件,如IM消息,成员信息变更,课堂信息变更等。

        ClassManager.getInstance().init(this);
      复制代码
    • 在生命周期中管理课堂sdk

        @Override
        protected void onStop() {
            super.onStop();
            if (isFinishing()){
                ILVConfSDK.getInstance().ILVConfLogout(null);
            }
        }
      复制代码
  4. 初始化view

    LivingVideoView avRootView = (LivingVideoView) fragView.findViewById(R.id.av_root_view);
    ILVConfManager.getInstance().setAvRootView(avRootView);
    复制代码
文章分类
Android