赞
踩
roomId(classId)房间ID
创建房间:
-- RoomID
RoomID(房间号/房间ID)用于在一个 TRTC 应用中唯一标识一个房间。RoomID 是由开发者自行维护和分配的一个 uint32 范围内的数字,取值区间:1 - 4294967295。
--------------------------------------------------------------老师端逻辑--------------------------------------------------------------
1createRoom -- 其实是创建私有群组 -- this.tim.createGroup 然后将老师teacherUserID设置成当前老师的user_ID,然后将this.tim 实例化,并会往后面的组件传递
2--进入课堂界面,点击开始授课 -- rtcClient.enterRoom ,这里调用trtc_edu_sdk.enterRoom 逻辑
3分为老师和学生
如果是老师:
那么调用_enterRoom ,这里是设置成主播,可以上行视频和音频,并且 设置场景 :视频通话场景,支持720P、1080P高清画质
--------------------------------------------------------------学生逻辑--------------------------------------------------------------
1学生进入课程,也进入rtcClient.enterRoom ,这里调用trtc_edu_sdk.enterRoom 逻辑
如果是学生:
调用 edu_sdk._joinGroup先加入im群组,然后调用_enter_romm,也设置成设置成主播,可以上行视频和音频,并且 设置场景 :视频通话场景,支持720P、1080P高清画质
eg:TRTC 采用 UDP 协议进行传输音视频数据,而标准直播 CDN 则采用的 RTMP\HLS\FLV 等协议进行数据传输,
所以需要将 TRTC 中的音视频数据旁路到直播 CDN 中,才能在让观众通过直播 CDN 进行观看
----------也就是说学生进入房间,学生老师都是走的trtc低延迟模式,使用udp传输
--------------------------------------------------------------互动逻辑--------------------------------------------------------------
互动逻辑:
1、开放举手
老师端通过IM聊天室全员聊天功能发送特殊语义实现 -- edu_sdk sendGroupCustomMessage 调用im_sdk sendMessage 发送cmd: 1
客户端订阅im消息 -- this.tim.on(TIM.EVENT.MESSAGE_RECEIVED, this._onIMMessageReceived.bind(this)) 解析参数 如果是 1,触发事件 QUESTION_TIME_STARTED,调用学生端的事件处理
函数,打开举手功能。
2学生端发送cmd_2, 触发studentRaiseHand函数
3老师端接受到cmd_2,可以指定学生上台发言,然后指定学生发送cmd_3
4该学生端收到cmd_3 -- 打开麦克疯 this.openMicrophone();触发事件this._emitter.emit(EVENT.BE_INVITED_TO_PLATFORM, item)
end --开始连麦
教师端显示学生视频的修改------------------------
1.学生端cmd === 3 会触发事件 BE_INVITED_TO_PLATFORM ,然后学生端,事件回调里面调用 const domEle = document.getElementById('teacherLocalVideo');
rtcClient.openCamera(domEle, TRTCVideoResolution.TRTCVideoResolution_270_270);开启摄像头
2.老师端点击上台,然后监听上台事件REMOTE_VIDEO_ADD,如果有人上台,调用显示远端画面showVideo
3后台im调用create_group创建群组并制定群主
4在老师点击授课进入房间时,请求后端发起混流请求 -- StartMCUMixTranscodeRequest()
-----------------------------------------------------老师断线,重进问题---------------------------------------------------------------
0.学生端监听到老师掉线,停止所有麦克风和视频推流
方案1.老师掉线需要重新进入课堂,点击开课,然后需要开始视频和分享屏幕推流,在这一步,可以加入学生画面
方案2.重新开始举手和上台
-------------------------------------------------------混流逻辑---------------------------------------------------------------
1.开启旁路直播,设置参数。
2.客户端进入enterRoom的时候,设置参数steamId ---- steam设置规则 ‘skb_’+ 房间ID,并向客户端发起混流请求
3.服务端请求腾讯云混流接口并设置混流模式和steamId
4.客户端播放,拼接url http://liveplay.shikaobang.cn/live/skb_房间ID.flv
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。