教育sdk
教育sdk简要说明
腾讯云教育sdk是一个集腾讯直播,白板服务和im通讯功能为一体的云教育直播类产品,他可以提供互动直播,聊天及白板服务相关功能
初步使用
-
工程集成
如果想把教育直播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' -
初始化操作
如果要使用教育sdk的相关功能,我们需要在使用前进行sdk的初始化操作,官方demo是在主工程Application的主进程中进行的始化操作.
-
if (MsfSdkUtils.isMainProcess(this)) { // 仅在主线程初始化 }
-
初始化livesdk ILVConfSDK.getInstance().initSdk(this, 1400042982, 17802);
-
厨师互白板 WhiteboardSDK.getInstance().init(this, 1400042982);
-
设置服务器地址 ILVConfSDK.getInstance().setServerAddr(ConfConstants.SERVERADDR);
-
设置链接监听
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判断中初始化
- 根据id和密码注册
保存注册信息->执行注册操作
LoginHelper loginHelper = new LoginHelper(this);//loginhelper提供登录注册逻辑
loginHelper.regiest(id, pwd);
- 登录
注册成功后进行登录操作
loginHelper.login(id,pwd);
- 登录成功
跳转到列表页面
-
加入房间
//创建房间和加入房间管理类 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); -
初始化白板配置
WhiteboardConfig config = WhiteboardManager.getInstance().getConfig(); //config.setBackgroundColor(getResources().getColor(R.color.whiteboard_bg_color)); WhiteboardManager.getInstance().init(getBaseContext(), config); -
启动课堂界面
-
给房间实例manager 设置消息接收监听器
ILVConfManager.getInstance().setConfIMListener(IMMsgObservable.getInstance()); -
初始化课堂管理 课堂管理,主要接收及响应课堂互动事件,如IM消息,成员信息变更,课堂信息变更等。
ClassManager.getInstance().init(this); -
在生命周期中管理课堂sdk
@Override protected void onStop() { super.onStop(); if (isFinishing()){ ILVConfSDK.getInstance().ILVConfLogout(null); } }
-
-
初始化view
LivingVideoView avRootView = (LivingVideoView) fragView.findViewById(R.id.av_root_view); ILVConfManager.getInstance().setAvRootView(avRootView);