正在显示
6 个修改的文件
包含
828 行增加
和
189 行删除
| @@ -258,6 +258,15 @@ height: 1080px; | @@ -258,6 +258,15 @@ height: 1080px; | ||
| 258 | color: #333; | 258 | color: #333; |
| 259 | font-size: 12px; | 259 | font-size: 12px; |
| 260 | } | 260 | } |
| 261 | + | ||
| 262 | +.classCurId{ | ||
| 263 | + float: left; | ||
| 264 | + margin-left: 20px; | ||
| 265 | + color: #333; | ||
| 266 | + font-size: 12px; | ||
| 267 | + width: 40px; | ||
| 268 | + height: 20px; | ||
| 269 | +} | ||
| 261 | /*直播中*/ | 270 | /*直播中*/ |
| 262 | .cur-status { | 271 | .cur-status { |
| 263 | float: left; | 272 | float: left; |
| @@ -962,6 +971,43 @@ height: 1080px; | @@ -962,6 +971,43 @@ height: 1080px; | ||
| 962 | 971 | ||
| 963 | 972 | ||
| 964 | } | 973 | } |
| 974 | +.spinner1 { | ||
| 975 | + display: none; | ||
| 976 | + z-index: 10; | ||
| 977 | + position: absolute; | ||
| 978 | + top: 190px; | ||
| 979 | + left: 231px; | ||
| 980 | + margin: 100px auto 0; | ||
| 981 | + width: 150px; | ||
| 982 | + text-align: center; | ||
| 983 | +} | ||
| 984 | + | ||
| 985 | +.spinner1 > div { | ||
| 986 | + width: 30px; | ||
| 987 | + height: 30px; | ||
| 988 | + background-color: #3498db; | ||
| 989 | + | ||
| 990 | + border-radius: 100%; | ||
| 991 | + display: inline-block; | ||
| 992 | + -webkit-animation: bouncedelay 1.4s infinite ease-in-out; | ||
| 993 | + animation: bouncedelay 1.4s infinite ease-in-out; | ||
| 994 | + /* Prevent first frame from flickering when animation starts */ | ||
| 995 | + -webkit-animation-fill-mode: both; | ||
| 996 | + animation-fill-mode: both; | ||
| 997 | +} | ||
| 998 | + | ||
| 999 | +.spinner1 .bounce1 { | ||
| 1000 | + -webkit-animation-delay: -0.32s; | ||
| 1001 | + animation-delay: -0.32s; | ||
| 1002 | +} | ||
| 1003 | + | ||
| 1004 | +.spinner1 .bounce2 { | ||
| 1005 | + -webkit-animation-delay: -0.16s; | ||
| 1006 | + animation-delay: -0.16s; | ||
| 1007 | +} | ||
| 1008 | + | ||
| 1009 | + | ||
| 1010 | + | ||
| 965 | 1011 | ||
| 966 | .spinner > div { | 1012 | .spinner > div { |
| 967 | width: 30px; | 1013 | width: 30px; |
| @@ -1198,16 +1244,17 @@ height: 1080px; | @@ -1198,16 +1244,17 @@ height: 1080px; | ||
| 1198 | .stuVideo-video{ | 1244 | .stuVideo-video{ |
| 1199 | position: absolute; | 1245 | position: absolute; |
| 1200 | left: 3px; | 1246 | left: 3px; |
| 1201 | - bottom: 0px; | 1247 | + bottom: -5px; |
| 1202 | cursor: pointer; | 1248 | cursor: pointer; |
| 1203 | color: #333333; | 1249 | color: #333333; |
| 1204 | - margin: 5px 5px 0px 5px; | 1250 | + margin: 0px 5px 0px 5px; |
| 1205 | 1251 | ||
| 1206 | } | 1252 | } |
| 1207 | .stuVideo-videoBg{ | 1253 | .stuVideo-videoBg{ |
| 1254 | + display: none; | ||
| 1208 | position: absolute; | 1255 | position: absolute; |
| 1209 | left: 3px; | 1256 | left: 3px; |
| 1210 | - bottom: 5px; | 1257 | + bottom: 1px; |
| 1211 | width: 16px; | 1258 | width: 16px; |
| 1212 | height: 16px; | 1259 | height: 16px; |
| 1213 | cursor: pointer; | 1260 | cursor: pointer; |
| @@ -1224,19 +1271,20 @@ height: 1080px; | @@ -1224,19 +1271,20 @@ height: 1080px; | ||
| 1224 | .stuVideo-voice{ | 1271 | .stuVideo-voice{ |
| 1225 | position: absolute; | 1272 | position: absolute; |
| 1226 | left:23px; | 1273 | left:23px; |
| 1227 | - bottom: 10px; | 1274 | + bottom: 4px; |
| 1228 | width: 16px; | 1275 | width: 16px; |
| 1229 | height: 16px; | 1276 | height: 16px; |
| 1230 | font-size: 16px; | 1277 | font-size: 16px; |
| 1231 | cursor: pointer; | 1278 | cursor: pointer; |
| 1232 | color: #333333; | 1279 | color: #333333; |
| 1233 | - margin: 5px 5px 0px 5px; | 1280 | + margin: 0px 5px 0px 5px; |
| 1234 | 1281 | ||
| 1235 | } | 1282 | } |
| 1236 | .stuVideo-voiceBg{ | 1283 | .stuVideo-voiceBg{ |
| 1284 | + display: none; | ||
| 1237 | position: absolute; | 1285 | position: absolute; |
| 1238 | left:23px; | 1286 | left:23px; |
| 1239 | - bottom: 5px; | 1287 | + bottom: 0px; |
| 1240 | width: 16px; | 1288 | width: 16px; |
| 1241 | height: 16px; | 1289 | height: 16px; |
| 1242 | font-size: 16px; | 1290 | font-size: 16px; |
| @@ -1264,13 +1312,25 @@ height: 1080px; | @@ -1264,13 +1312,25 @@ height: 1080px; | ||
| 1264 | } | 1312 | } |
| 1265 | .teacherVideo .teacherVideoBg{ | 1313 | .teacherVideo .teacherVideoBg{ |
| 1266 | 1314 | ||
| 1315 | + position: absolute; | ||
| 1316 | + left: 0; | ||
| 1317 | + top: 0; | ||
| 1318 | + width: 100%; | ||
| 1319 | + height: 100%; | ||
| 1320 | + background: url("../images/none-video-tea.png") no-repeat center center; | ||
| 1321 | + } | ||
| 1322 | +.teacherVideo .teacherVoicing{ | ||
| 1323 | + display: none; | ||
| 1267 | position: absolute; | 1324 | position: absolute; |
| 1268 | left: 0; | 1325 | left: 0; |
| 1269 | top: 0; | 1326 | top: 0; |
| 1270 | width: 100%; | 1327 | width: 100%; |
| 1271 | height: 100%; | 1328 | height: 100%; |
| 1272 | - background: url("../images/none-video-tea.png") no-repeat center center; | 1329 | + background: url("../images/voicing.gif") no-repeat center center; |
| 1273 | } | 1330 | } |
| 1331 | + | ||
| 1332 | + | ||
| 1333 | + | ||
| 1274 | .teacherVideo .teacherVideoInfo{ | 1334 | .teacherVideo .teacherVideoInfo{ |
| 1275 | height: 100%; | 1335 | height: 100%; |
| 1276 | width: 100%; | 1336 | width: 100%; |
| @@ -1316,9 +1376,10 @@ height: 1080px; | @@ -1316,9 +1376,10 @@ height: 1080px; | ||
| 1316 | 1376 | ||
| 1317 | } | 1377 | } |
| 1318 | .teacherVideo-voiceBg{ | 1378 | .teacherVideo-voiceBg{ |
| 1379 | + display:none; | ||
| 1319 | position: absolute; | 1380 | position: absolute; |
| 1320 | left:23px; | 1381 | left:23px; |
| 1321 | - bottom: 5px; | 1382 | + bottom: 0px; |
| 1322 | width: 16px; | 1383 | width: 16px; |
| 1323 | height: 16px; | 1384 | height: 16px; |
| 1324 | font-size: 16px; | 1385 | font-size: 16px; |
| @@ -2389,6 +2450,7 @@ canvas { | @@ -2389,6 +2450,7 @@ canvas { | ||
| 2389 | } | 2450 | } |
| 2390 | 2451 | ||
| 2391 | .loginContent li:nth-of-type(5){ | 2452 | .loginContent li:nth-of-type(5){ |
| 2453 | + display: none; | ||
| 2392 | height: 40px; | 2454 | height: 40px; |
| 2393 | line-height: 40px; | 2455 | line-height: 40px; |
| 2394 | width: 270px; | 2456 | width: 270px; |
images/voicing.gif
0 → 100644
5.6 KB
| @@ -16,8 +16,8 @@ | @@ -16,8 +16,8 @@ | ||
| 16 | <script type="text/javascript" src="js/xdyEvent.js"></script> | 16 | <script type="text/javascript" src="js/xdyEvent.js"></script> |
| 17 | <script type="text/javascript" src="js/drag.js"></script> | 17 | <script type="text/javascript" src="js/drag.js"></script> |
| 18 | 18 | ||
| 19 | - <script type="text/javascript" src="js/McuClient.js?v=1.0.228.14"></script> | ||
| 20 | - <!--<script type="text/javascript" src="http://192.168.1.140/McuClient/McuClient.js?729903213236"></script>--> | 19 | + <!--<script type="text/javascript" src="js/McuClient.js?v=1.0.228.14"></script>--> |
| 20 | + <script type="text/javascript" src="http://192.168.1.140/McuClient/McuClient.js?7213236"></script> | ||
| 21 | <script type="text/javascript" src="js/jquery-1.11.3.min.js"></script> | 21 | <script type="text/javascript" src="js/jquery-1.11.3.min.js"></script> |
| 22 | 22 | ||
| 23 | <script type="text/javascript" src="src/main.js"></script> | 23 | <script type="text/javascript" src="src/main.js"></script> |
| @@ -81,8 +81,8 @@ | @@ -81,8 +81,8 @@ | ||
| 81 | </div> | 81 | </div> |
| 82 | <a id="a-status" href="javascript: void(0)">未开始</a></li> | 82 | <a id="a-status" href="javascript: void(0)">未开始</a></li> |
| 83 | 83 | ||
| 84 | - <li class="classroom"><a href="javascript: void(0)">[少儿英语口语]第四节</a></li> | ||
| 85 | - | 84 | + <li class="classroom"><a id="classCurName" href="javascript: void(0)"></a></li> |
| 85 | + <li class="classCurId"><a id="classCurId" href="javascript: void(0)"></a></li> | ||
| 86 | 86 | ||
| 87 | <!--设置--> | 87 | <!--设置--> |
| 88 | <div class="am-dropdown" data-am-dropdown> | 88 | <div class="am-dropdown" data-am-dropdown> |
| @@ -245,10 +245,15 @@ | @@ -245,10 +245,15 @@ | ||
| 245 | <!--<div class="am-tabs" data-am-tabs>--> | 245 | <!--<div class="am-tabs" data-am-tabs>--> |
| 246 | <!--<div id="tab-box" class="am-tabs-bd">--> | 246 | <!--<div id="tab-box" class="am-tabs-bd">--> |
| 247 | <!--<div class="am-tab-panel am-fade am-in am-active" id="tab1">--> | 247 | <!--<div class="am-tab-panel am-fade am-in am-active" id="tab1">--> |
| 248 | - | 248 | + <div class="spinner1"> |
| 249 | + <div class="bounce1"></div> | ||
| 250 | + <div class="bounce2"></div> | ||
| 251 | + <div class="bounce3"></div> | ||
| 252 | + </div> | ||
| 249 | <!--引入canvas画板--> | 253 | <!--引入canvas画板--> |
| 250 | <div id="draw" class="clear"> | 254 | <div id="draw" class="clear"> |
| 251 | <div class="canvas_container"> | 255 | <div class="canvas_container"> |
| 256 | + | ||
| 252 | <canvas id="canvas"> | 257 | <canvas id="canvas"> |
| 253 | 浏览器不支持 | 258 | 浏览器不支持 |
| 254 | </canvas> | 259 | </canvas> |
| @@ -376,9 +381,17 @@ | @@ -376,9 +381,17 @@ | ||
| 376 | <!--右侧--> | 381 | <!--右侧--> |
| 377 | <div id="right" class="right"> | 382 | <div id="right" class="right"> |
| 378 | <div class="studentVideo"> | 383 | <div class="studentVideo"> |
| 379 | - <img> | 384 | + <div class="stuPublish" style="position:absolute;top: 0; width:240px;height:180px"> |
| 385 | + <div id="stuPublish"></div> | ||
| 386 | + </div> | ||
| 387 | + <div class="stuPlay" style="position:absolute;top: 0; width:240px;height:180px"> | ||
| 388 | + <div id="stuPlay"></div> | ||
| 389 | + </div> | ||
| 390 | + <img class="stuVideoBg"/> | ||
| 380 | <div id="stuVideo-video" class="stuVideo-video iconfont"></div> | 391 | <div id="stuVideo-video" class="stuVideo-video iconfont"></div> |
| 392 | + <div id="stuVideo-videoBg" class="stuVideo-videoBg iconfont"></div> | ||
| 381 | <div id="stuVideo-voice" class="stuVideo-voice iconfont"></div> | 393 | <div id="stuVideo-voice" class="stuVideo-voice iconfont"></div> |
| 394 | + <div id="stuVideo-voiceBg" class="stuVideo-voiceBg iconfont"></div> | ||
| 382 | <!--<span>lucy</span>--> | 395 | <!--<span>lucy</span>--> |
| 383 | </div> | 396 | </div> |
| 384 | <div class="teacherVideo"> | 397 | <div class="teacherVideo"> |
| @@ -389,9 +402,11 @@ | @@ -389,9 +402,11 @@ | ||
| 389 | <div id="play"></div> | 402 | <div id="play"></div> |
| 390 | </div> | 403 | </div> |
| 391 | <img class="teacherVideoBg"/> | 404 | <img class="teacherVideoBg"/> |
| 405 | + <img class="teacherVoicing"/> | ||
| 392 | <div id="teacherVideo-video" class="teacherVideo-video iconfont"></div> | 406 | <div id="teacherVideo-video" class="teacherVideo-video iconfont"></div> |
| 393 | <div id="teacherVideo-videoBg" class="teacherVideo-videoBg iconfont"></div> | 407 | <div id="teacherVideo-videoBg" class="teacherVideo-videoBg iconfont"></div> |
| 394 | <div id="teacherVideo-voice" class="teacherVideo-voice iconfont"></div> | 408 | <div id="teacherVideo-voice" class="teacherVideo-voice iconfont"></div> |
| 409 | + <div id="teacherVideo-voiceBg" class="teacherVideo-voiceBg iconfont"></div> | ||
| 395 | 410 | ||
| 396 | </div> | 411 | </div> |
| 397 | 412 | ||
| @@ -575,7 +590,7 @@ | @@ -575,7 +590,7 @@ | ||
| 575 | 590 | ||
| 576 | <div class="fourParamsOut"> | 591 | <div class="fourParamsOut"> |
| 577 | <ul class="fourParams clear"> | 592 | <ul class="fourParams clear"> |
| 578 | - <li><span>classId:</span><input class="classId" type="text" value="2028061409"></li> | 593 | + <li><span>classId:</span><input class="classId" type="text" value="120394398"></li> |
| 579 | <!--<li><span>userRole:</span><input class="userRole" type="text" value=""></li>--> | 594 | <!--<li><span>userRole:</span><input class="userRole" type="text" value=""></li>--> |
| 580 | <!--<li><span>portal:</span><input class="portal" type="text" value=""></li>--> | 595 | <!--<li><span>portal:</span><input class="portal" type="text" value=""></li>--> |
| 581 | <li><span>userId:</span><input class="userId" type="text" value=""></li> | 596 | <li><span>userId:</span><input class="userId" type="text" value=""></li> |
| @@ -584,7 +599,6 @@ | @@ -584,7 +599,6 @@ | ||
| 584 | </li> | 599 | </li> |
| 585 | </ul> | 600 | </ul> |
| 586 | <div class="permission"> | 601 | <div class="permission"> |
| 587 | - | ||
| 588 | <div class="permissionIn"> | 602 | <div class="permissionIn"> |
| 589 | <input id="host" type="radio" name="userRole" value="host" onclick="getValue(this.value)"><label for="host">老师</label> | 603 | <input id="host" type="radio" name="userRole" value="host" onclick="getValue(this.value)"><label for="host">老师</label> |
| 590 | <input id="normal" type="radio" name="userRole" value="normal" onclick="getValue(this.value)"><label | 604 | <input id="normal" type="radio" name="userRole" value="normal" onclick="getValue(this.value)"><label |
此 diff 太大无法显示。
| @@ -3,69 +3,22 @@ | @@ -3,69 +3,22 @@ | ||
| 3 | 3 | ||
| 4 | var client; | 4 | var client; |
| 5 | var MessageTypes; | 5 | var MessageTypes; |
| 6 | -var canvasInfo; | ||
| 7 | -var canvasInfoUpdate; | ||
| 8 | -var canvasInfoArr=[]; | ||
| 9 | -var canvasInfoUpArr=[]; | ||
| 10 | - | ||
| 11 | var classLoadInfo; //3个参数 课堂号/用户角色/ip 的对象 | 6 | var classLoadInfo; //3个参数 课堂号/用户角色/ip 的对象 |
| 12 | - | ||
| 13 | var classAllInfo={}; | 7 | var classAllInfo={}; |
| 14 | - | ||
| 15 | var fourParams={}; | 8 | var fourParams={}; |
| 16 | - | ||
| 17 | var fileInfo={}; //传递给底层的对象 | 9 | var fileInfo={}; //传递给底层的对象 |
| 18 | - | ||
| 19 | -var fileDeleteInfo={}; //删除的文件对象 | ||
| 20 | - | ||
| 21 | var thisFileName; //当前点击的文件名称 | 10 | var thisFileName; //当前点击的文件名称 |
| 22 | - | ||
| 23 | var thisFileId;//当前点击的文件ID | 11 | var thisFileId;//当前点击的文件ID |
| 24 | - | ||
| 25 | var thisDocId; | 12 | var thisDocId; |
| 26 | var thisClassId; | 13 | var thisClassId; |
| 27 | - | ||
| 28 | -var thisFileParent;//当前元素的父级 | ||
| 29 | - | ||
| 30 | var fileFromArr=[]; //存储底层返回的文件,放到该数组 | 14 | var fileFromArr=[]; //存储底层返回的文件,放到该数组 |
| 31 | - | ||
| 32 | -var fileFromUpArr=[];//存储上传返回的文件,,放到该数组 | ||
| 33 | - | ||
| 34 | - | ||
| 35 | var classParamInfo={} | 15 | var classParamInfo={} |
| 36 | - | ||
| 37 | -var pdfUrl; | ||
| 38 | var docfullPath; | 16 | var docfullPath; |
| 39 | var imgUrl; | 17 | var imgUrl; |
| 40 | - | ||
| 41 | - | ||
| 42 | -var switchArr=[]; | ||
| 43 | - | ||
| 44 | - | ||
| 45 | - | ||
| 46 | -var pdfFile; | ||
| 47 | -var currPageNumber; | ||
| 48 | - | ||
| 49 | -var fileShowArr=[]; //存储显示的文档 | ||
| 50 | - | ||
| 51 | -var pdfArr=[]; | ||
| 52 | - | ||
| 53 | -var openPage; | ||
| 54 | - | ||
| 55 | -var pdfUrlArr=[]; | ||
| 56 | - | ||
| 57 | -var docfullPathArr=[]; | ||
| 58 | - | ||
| 59 | -var imgUrlSingle; | ||
| 60 | - | ||
| 61 | - | ||
| 62 | var curPageNum; | 18 | var curPageNum; |
| 63 | var pageNum; | 19 | var pageNum; |
| 64 | - | ||
| 65 | var fileItemIdx; | 20 | var fileItemIdx; |
| 66 | 21 | ||
| 67 | - | ||
| 68 | - | ||
| 69 | //画布 | 22 | //画布 |
| 70 | var canvas ; | 23 | var canvas ; |
| 71 | var context ; | 24 | var context ; |
| @@ -92,21 +45,11 @@ function mainTimeStamp() { | @@ -92,21 +45,11 @@ function mainTimeStamp() { | ||
| 92 | } | 45 | } |
| 93 | 46 | ||
| 94 | $(function () { | 47 | $(function () { |
| 95 | - | ||
| 96 | - | ||
| 97 | - | ||
| 98 | - | ||
| 99 | - // FastClick.attach(document.body); | ||
| 100 | - | ||
| 101 | initEngine();//加载MCUClientEngine; | 48 | initEngine();//加载MCUClientEngine; |
| 49 | + listenClass(); | ||
| 102 | loading(); | 50 | loading(); |
| 103 | 51 | ||
| 104 | urlParamsJudge();//对地址栏参数的数据进行判断 | 52 | urlParamsJudge();//对地址栏参数的数据进行判断 |
| 105 | - | ||
| 106 | - | ||
| 107 | - | ||
| 108 | - | ||
| 109 | - | ||
| 110 | }); | 53 | }); |
| 111 | 54 | ||
| 112 | function initEngine(){ | 55 | function initEngine(){ |
| @@ -115,26 +58,63 @@ function initEngine(){ | @@ -115,26 +58,63 @@ function initEngine(){ | ||
| 115 | client=MCUClientEngine.createMcuClient(); | 58 | client=MCUClientEngine.createMcuClient(); |
| 116 | //获取事件监听消息定义 | 59 | //获取事件监听消息定义 |
| 117 | MessageTypes=MCUClientEngine.MessageTypes; | 60 | MessageTypes=MCUClientEngine.MessageTypes; |
| 61 | + //McuClient版本号 | ||
| 118 | console.log(client.sdkInfo.version); | 62 | console.log(client.sdkInfo.version); |
| 119 | 63 | ||
| 120 | videoWithFlash.flashInit(client); | 64 | videoWithFlash.flashInit(client); |
| 121 | // nativeVideo.nativeInit(client); | 65 | // nativeVideo.nativeInit(client); |
| 66 | +} | ||
| 122 | 67 | ||
| 68 | +//监听课堂 | ||
| 69 | +function listenClass() { | ||
| 70 | + if(client){ | ||
| 71 | + // client.on(MessageTypes.UPDATE_CLASS_TIMER,updateClassTime);// 监听会议时间更新 | ||
| 123 | 72 | ||
| 73 | + client.on(MessageTypes.CLASS_UPTATE_STATUS,classUpdateStatus);//监听会议状态更新 | ||
| 74 | + client.on(MessageTypes.CHAT_RECEIVE,chatReceive); //监听到聊天信息 | ||
| 75 | + client.on(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE,whiteboardUpdate);//监听白板更新 | ||
| 76 | + client.on(MessageTypes.DOC_DELETE,docDelete);//监听删除文档 | ||
| 77 | + client.on(MessageTypes.DOC_UPDATE,docUpdate);//监听更新文档 | ||
| 124 | 78 | ||
| 79 | + // // //点击开始上课 | ||
| 80 | + // | ||
| 81 | + // if($("#classes-status-1").html()=="开始上课"){ | ||
| 82 | + // $("#classes-status-1").click(function (e){ | ||
| 83 | + // client.sendStartClass(); | ||
| 84 | + // }); | ||
| 85 | + // } | ||
| 86 | + // if($("#classes-status-1").html()=="课间休息"){ | ||
| 87 | + // $("#classes-status-1").click(function (e){ | ||
| 88 | + // client.sendPauseClass(); | ||
| 89 | + // }); | ||
| 90 | + // } | ||
| 91 | + // if($("#classes-status-1").html()=="继续上课"){ | ||
| 92 | + // $("#classes-status-1").click(function (e){ | ||
| 93 | + // client.sendStartClass(); | ||
| 94 | + // }); | ||
| 95 | + // } | ||
| 96 | + // | ||
| 97 | + // | ||
| 98 | + // | ||
| 99 | + // //结束课堂 | ||
| 100 | + // $("#classes-status-2").click(function (e) { | ||
| 101 | + // if($("#classes-status-2").html()=="结束课堂"){ | ||
| 102 | + // client.sendCloseClass(); | ||
| 103 | + // } | ||
| 104 | + // }); | ||
| 105 | + // | ||
| 106 | + // | ||
| 107 | + // | ||
| 108 | + // if($("#class-now").html()=="结束"){ | ||
| 109 | + // $("#class-now").unbind("click"); | ||
| 110 | + // } | ||
| 125 | 111 | ||
| 126 | - | ||
| 127 | - | ||
| 128 | - | 112 | + } |
| 129 | } | 113 | } |
| 130 | 114 | ||
| 131 | //在窗口关闭前提示用户 | 115 | //在窗口关闭前提示用户 |
| 132 | window.onbeforeunload = function() { | 116 | window.onbeforeunload = function() { |
| 133 | - if(client){ | ||
| 134 | - console.log("11111111111111111111111") | ||
| 135 | - }else { | ||
| 136 | - console.log("11111111111111111111111") | ||
| 137 | - } | 117 | + |
| 138 | return false; // 可以阻止关闭 | 118 | return false; // 可以阻止关闭 |
| 139 | } | 119 | } |
| 140 | //窗口关闭,退出课堂 | 120 | //窗口关闭,退出课堂 |
| @@ -341,13 +321,13 @@ function uploadFile(msg){ | @@ -341,13 +321,13 @@ function uploadFile(msg){ | ||
| 341 | 321 | ||
| 342 | //监听文档更新 | 322 | //监听文档更新 |
| 343 | function docUpdate(callbackData){ | 323 | function docUpdate(callbackData){ |
| 344 | - | ||
| 345 | console.log("监听文档更新=========================>"); | 324 | console.log("监听文档更新=========================>"); |
| 346 | console.log(callbackData); | 325 | console.log(callbackData); |
| 347 | if(callbackData==null){ | 326 | if(callbackData==null){ |
| 348 | return; | 327 | return; |
| 349 | } | 328 | } |
| 350 | if (callbackData.visible===true){ | 329 | if (callbackData.visible===true){ |
| 330 | + | ||
| 351 | showInter(callbackData,2); | 331 | showInter(callbackData,2); |
| 352 | } | 332 | } |
| 353 | //操作数据 | 333 | //操作数据 |
| @@ -879,21 +859,9 @@ if (callbackData.userRole=="normal"){ | @@ -879,21 +859,9 @@ if (callbackData.userRole=="normal"){ | ||
| 879 | 859 | ||
| 880 | //准备主页面 | 860 | //准备主页面 |
| 881 | layoutView(); | 861 | layoutView(); |
| 882 | - //开始课堂 | ||
| 883 | - startClass(); | ||
| 884 | } | 862 | } |
| 885 | 863 | ||
| 886 | -//开始课堂 | ||
| 887 | -function startClass() { | ||
| 888 | - if(client){ | ||
| 889 | 864 | ||
| 890 | - //监听到聊天信息 | ||
| 891 | - client.on(MessageTypes.CHAT_RECEIVE,chatReceive); | ||
| 892 | - client.on(MessageTypes.WHITEBOARD_ANNOTATION_UPDATE,whiteboardUpdate);//监听白板更新 | ||
| 893 | - client.on(MessageTypes.DOC_DELETE,docDelete);//监听删除文档 | ||
| 894 | - client.on(MessageTypes.DOC_UPDATE,docUpdate);//监听更新文档 | ||
| 895 | - } | ||
| 896 | -} | ||
| 897 | 865 | ||
| 898 | //登录成功后,登录页隐藏,主页面显示 | 866 | //登录成功后,登录页隐藏,主页面显示 |
| 899 | function layoutView( ) { | 867 | function layoutView( ) { |
| @@ -927,6 +895,9 @@ function layoutView( ) { | @@ -927,6 +895,9 @@ function layoutView( ) { | ||
| 927 | 895 | ||
| 928 | 896 | ||
| 929 | 897 | ||
| 898 | + | ||
| 899 | + | ||
| 900 | + | ||
| 930 | //发送聊天消息 | 901 | //发送聊天消息 |
| 931 | $("#btn_send").click(function (e) { | 902 | $("#btn_send").click(function (e) { |
| 932 | console.log("点击了发送消息按钮------->"); | 903 | console.log("点击了发送消息按钮------->"); |
| @@ -941,6 +912,7 @@ function layoutView( ) { | @@ -941,6 +912,7 @@ function layoutView( ) { | ||
| 941 | 912 | ||
| 942 | //点击下一页 | 913 | //点击下一页 |
| 943 | $("#nextPage").on("click",function (e) { | 914 | $("#nextPage").on("click",function (e) { |
| 915 | + $(".spinner1").css("display","block"); | ||
| 944 | console.log(curPageNum); | 916 | console.log(curPageNum); |
| 945 | 917 | ||
| 946 | var paramInfo={ | 918 | var paramInfo={ |
| @@ -966,6 +938,7 @@ function layoutView( ) { | @@ -966,6 +938,7 @@ function layoutView( ) { | ||
| 966 | 938 | ||
| 967 | //点击上一页 | 939 | //点击上一页 |
| 968 | $("#prevPage").on("click",function (e) { | 940 | $("#prevPage").on("click",function (e) { |
| 941 | + $(".spinner1").css("display","block"); | ||
| 969 | if (curPageNum>1){ | 942 | if (curPageNum>1){ |
| 970 | console.log("curPageNum",curPageNum); | 943 | console.log("curPageNum",curPageNum); |
| 971 | for (var i=0;i<docfullPath.length;i++){ | 944 | for (var i=0;i<docfullPath.length;i++){ |
| @@ -985,15 +958,32 @@ function layoutView( ) { | @@ -985,15 +958,32 @@ function layoutView( ) { | ||
| 985 | 958 | ||
| 986 | }); | 959 | }); |
| 987 | 960 | ||
| 961 | + | ||
| 962 | + //获取课堂信息 | ||
| 963 | + var classCurInfo=client.getClassStatusInfo(); | ||
| 964 | + $("#classCurName").html(classCurInfo.className); | ||
| 965 | + | ||
| 966 | + $("#classCurId").html(classAllInfo.nodeId); | ||
| 967 | + | ||
| 988 | } | 968 | } |
| 989 | function whiteboardUpdate(callbackData) { | 969 | function whiteboardUpdate(callbackData) { |
| 990 | console.log("同步canvas消息"); | 970 | console.log("同步canvas消息"); |
| 991 | console.log(callbackData); | 971 | console.log(callbackData); |
| 992 | draw.drawCanvas(callbackData); | 972 | draw.drawCanvas(callbackData); |
| 993 | $(".spinner").css("display","none"); | 973 | $(".spinner").css("display","none"); |
| 974 | + $(".spinner1").css("display","none"); | ||
| 994 | $(".doc-headline-a").trigger("click"); | 975 | $(".doc-headline-a").trigger("click"); |
| 995 | } | 976 | } |
| 996 | 977 | ||
| 978 | + | ||
| 979 | +// function updateClassTime(callbackData){ | ||
| 980 | +// | ||
| 981 | +// } | ||
| 982 | +//监听会议状态更新 | ||
| 983 | +function classUpdateStatus(callbackData) { | ||
| 984 | + console.log(callbackData); | ||
| 985 | +} | ||
| 986 | + | ||
| 997 | //接收聊天消息 | 987 | //接收聊天消息 |
| 998 | function chatReceive(callbackData){ | 988 | function chatReceive(callbackData){ |
| 999 | console.log(callbackData); | 989 | console.log(callbackData); |
| @@ -1071,8 +1061,6 @@ function loading() { | @@ -1071,8 +1061,6 @@ function loading() { | ||
| 1071 | $(".permission").css("display","none"); | 1061 | $(".permission").css("display","none"); |
| 1072 | $(".fourParams").css("display","none"); | 1062 | $(".fourParams").css("display","none"); |
| 1073 | $(".loginBg").css("display","none"); | 1063 | $(".loginBg").css("display","none"); |
| 1074 | - | ||
| 1075 | - | ||
| 1076 | } | 1064 | } |
| 1077 | 1065 | ||
| 1078 | //在页面loading时,提交验证,传给底层 | 1066 | //在页面loading时,提交验证,传给底层 |
| @@ -6,7 +6,7 @@ | @@ -6,7 +6,7 @@ | ||
| 6 | 6 | ||
| 7 | var client; //客户端 | 7 | var client; //客户端 |
| 8 | 8 | ||
| 9 | - | 9 | +var stuNodeId; |
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | var videoWithFlash={}; | 12 | var videoWithFlash={}; |
| @@ -17,7 +17,6 @@ videoWithFlash.flashInit=function (_client){ | @@ -17,7 +17,6 @@ videoWithFlash.flashInit=function (_client){ | ||
| 17 | client=_client; | 17 | client=_client; |
| 18 | 18 | ||
| 19 | }; | 19 | }; |
| 20 | - | ||
| 21 | function teaTimeStamp() { | 20 | function teaTimeStamp() { |
| 22 | var _teatimestamp= Date.parse(new Date()); | 21 | var _teatimestamp= Date.parse(new Date()); |
| 23 | return _teatimestamp; | 22 | return _teatimestamp; |
| @@ -26,74 +25,122 @@ $(function () { | @@ -26,74 +25,122 @@ $(function () { | ||
| 26 | 25 | ||
| 27 | //根据传进来的消息,创建老师NativeVideo窗口,进行播流 | 26 | //根据传进来的消息,创建老师NativeVideo窗口,进行播流 |
| 28 | client.on(MessageTypes.VIDEO_UPDATE,_videoUpdate); | 27 | client.on(MessageTypes.VIDEO_UPDATE,_videoUpdate); |
| 28 | + client.on(MessageTypes.AUDIO_UPDATE,_audioUpdate) | ||
| 29 | + client.on(MessageTypes.CLASS_INSERT_ROSTER,userListUpdate) | ||
| 30 | + client.on(MessageTypes.VIDEO_BROADCAST,stuBroadcast) | ||
| 31 | + client.on(MessageTypes.AUDIO_BROADCAST,stuAudioBroadcast) | ||
| 32 | + | ||
| 33 | + | ||
| 34 | + | ||
| 35 | + //学生视频按钮点击 | ||
| 36 | + $("#stuVideo-video").click(function (e) { | ||
| 37 | + console.log("stuVideo-video点击"); | ||
| 38 | + $(".stuVideoBg").css("display","none"); | ||
| 39 | + $(".stuVideo-videoBg").css("display","block"); | ||
| 40 | + $(".stuVideo-video").css("display","none"); | ||
| 41 | + $(".studentVideo").css("background", "#CCCCCC"); | ||
| 42 | + $(".stuVideo-voice").css("bottom","4px"); | ||
| 43 | + | ||
| 44 | + var paramInfo={ | ||
| 45 | + "actionType":1, | ||
| 46 | + "toNodeId":stuNodeId, | ||
| 47 | + "data":"0" | ||
| 48 | + }; | ||
| 49 | + console.log("stuNodeId",stuNodeId); | ||
| 50 | + client.sendVideoBroadcastMsg(paramInfo); | ||
| 51 | + if (classAllInfo.userRole=="normal"){ | ||
| 52 | + $(".stuVideo-voice").css("display","none"); | ||
| 53 | + $(".stuVideo-video").css("display","none"); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + }); | ||
| 57 | + | ||
| 58 | + //学生视频关闭按钮点击 | ||
| 59 | + $("#stuVideo-videoBg").click(function (e) { | ||
| 60 | + | ||
| 61 | + var paramInfo={ | ||
| 62 | + "actionType":2, | ||
| 63 | + "toNodeId":stuNodeId, | ||
| 64 | + "data":"0" | ||
| 65 | + }; | ||
| 66 | + client.sendVideoBroadcastMsg(paramInfo); | ||
| 67 | + $("#stuVideo-video").css("display","block"); | ||
| 68 | + $("#stuVideo-videoBg").css("display","none"); | ||
| 69 | + | ||
| 70 | +}); | ||
| 71 | + | ||
| 72 | + | ||
| 73 | + //学生音频按钮点击 | ||
| 74 | + $("#stuVideo-voice").click(function (e) { | ||
| 75 | + | ||
| 76 | + console.log("stuVideo-voice点击"); | ||
| 77 | + var stuVideoDisplay= $(".stuVideo-videoBg").css("display"); | ||
| 78 | + if(stuVideoDisplay=="block"){ | ||
| 79 | + $("#stuVideo-videoBg").trigger("click"); | ||
| 80 | + } | ||
| 81 | + $("#stuVideo-voice").css("display","none"); | ||
| 82 | + $("#stuVideo-voiceBg").css("display","block"); | ||
| 83 | + $(".stuPublish").css("display","none"); | ||
| 84 | + $(".studentVideoBg").css("display","none"); | ||
| 85 | + | ||
| 86 | + var paramInfo={ | ||
| 87 | + "actionType":1, | ||
| 88 | + "toNodeId":stuNodeId, | ||
| 89 | + "data":"0" | ||
| 90 | + }; | ||
| 91 | + console.log("stuNodeId",stuNodeId); | ||
| 92 | + client.sendAudioBroadcastMsg(paramInfo); | ||
| 93 | + if (classAllInfo.userRole=="normal"){ | ||
| 94 | + $(".stuVideo-voice").css("display","none"); | ||
| 95 | + $(".stuVideo-video").css("display","none"); | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + | ||
| 99 | + }); | ||
| 100 | + | ||
| 101 | + | ||
| 102 | + //学生音频关闭按钮点击 | ||
| 103 | + $("#stuVideo-voiceBg").click(function(e){ | ||
| 104 | + var paramInfo={ | ||
| 105 | + "actionType":2, | ||
| 106 | + "toNodeId":stuNodeId, | ||
| 107 | + "data":"0" | ||
| 108 | + }; | ||
| 109 | + client.sendAudioBroadcastMsg(paramInfo); | ||
| 110 | + $("#stuVideo-voice").css("display","block"); | ||
| 111 | + $("#stuVideo-voiceBg").css("display","none"); | ||
| 112 | + if (classAllInfo.userRole=="normal"){ | ||
| 113 | + $(".stuVideo-voice").css("display","none"); | ||
| 114 | + $(".stuVideo-video").css("display","none"); | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + }); | ||
| 29 | 118 | ||
| 30 | - // //学生视频按钮点击 | ||
| 31 | - // $("#stuVideo-video").click(function (e) { | ||
| 32 | - // console.log("teacherVideo-video点击"); | ||
| 33 | - // $("#stuVideo-video").html(" "); | ||
| 34 | - // $("#stuVideo-video").removeClass("stuVideo-video"); | ||
| 35 | - // $("#stuVideo-video").addClass("stuVideo-videoBg"); | ||
| 36 | - // | ||
| 37 | - // | ||
| 38 | - // $("#stuVideo-voice").html(""); | ||
| 39 | - // $("#stuVideo-voice").addClass("stuVideo-voice"); | ||
| 40 | - // $("#stuVideo-voice").removeClass("stuVideo-voiceBg"); | ||
| 41 | - // | ||
| 42 | - // | ||
| 43 | - // //获取推流地址 | ||
| 44 | - // achieveStupPushStream(); | ||
| 45 | - // | ||
| 46 | - // | ||
| 47 | - // }); | ||
| 48 | - // | ||
| 49 | - // //学生音频按钮点击 | ||
| 50 | - // $("#stuVideo-voice").click(function (e) { | ||
| 51 | - // | ||
| 52 | - // console.log("stuVideo-voice点击"); | ||
| 53 | - // $("#stuVideo-video").html(""); | ||
| 54 | - // $("#stuVideo-video").removeClass("stuVideo-videoBg"); | ||
| 55 | - // $("#stuVideo-video").addClass("stuVideo-video"); | ||
| 56 | - // | ||
| 57 | - // $("#stuVideo-voice").html(""); | ||
| 58 | - // $("#stuVideo-voice").removeClass("stuVideo-voice"); | ||
| 59 | - // $("#stuVideo-voice").addClass("stuVideo-voiceBg"); | ||
| 60 | - // }); | ||
| 61 | 119 | ||
| 62 | //老师视频按钮点击 | 120 | //老师视频按钮点击 |
| 63 | $("#teacherVideo-video").click(function (e) { | 121 | $("#teacherVideo-video").click(function (e) { |
| 64 | console.log("teacherVideo-video点击"); | 122 | console.log("teacherVideo-video点击"); |
| 65 | - $("#teacherVideo-video").html(" "); | ||
| 66 | - // $("#teacherVideo-video").removeClass("teacherVideo-video"); | ||
| 67 | - // $("#teacherVideo-video").addClass("teacherVideo-videoBg"); | ||
| 68 | - $(".teacherVideo-videoBg").css("display","block"); | ||
| 69 | - $(".teacherVideo-video").css("display","none"); | ||
| 70 | - | 123 | + var teaVoiceDisplay= $(".teacherVideo-voiceBg").css("display"); |
| 124 | + if(teaVoiceDisplay=="block"){ | ||
| 125 | + $("#teacherVideo-voiceBg").trigger("click"); | ||
| 126 | + } | ||
| 71 | 127 | ||
| 72 | 128 | ||
| 129 | + $(".teacherVideo-videoBg").css("display","block"); | ||
| 130 | + $(".teacherVideo-video").css("display","none"); | ||
| 73 | $("#teacherVideo-voice").html(""); | 131 | $("#teacherVideo-voice").html(""); |
| 74 | $("#teacherVideo-voice").addClass("teacherVideo-voice"); | 132 | $("#teacherVideo-voice").addClass("teacherVideo-voice"); |
| 75 | $("#teacherVideo-voice").removeClass("teacherVideo-voiceBg"); | 133 | $("#teacherVideo-voice").removeClass("teacherVideo-voiceBg"); |
| 76 | $(".teacherVideoBg").css("display","none"); | 134 | $(".teacherVideoBg").css("display","none"); |
| 77 | $(".teacherVideo").css("background", "#CCCCCC"); | 135 | $(".teacherVideo").css("background", "#CCCCCC"); |
| 78 | $(".teacherVideo-voice").css("bottom","4px"); | 136 | $(".teacherVideo-voice").css("bottom","4px"); |
| 137 | + $(".teacherVoicing").css("display","none"); | ||
| 79 | 138 | ||
| 80 | //获取推流地址 | 139 | //获取推流地址 |
| 81 | achieveTeaStream(); | 140 | achieveTeaStream(); |
| 82 | 141 | ||
| 83 | }); | 142 | }); |
| 84 | 143 | ||
| 85 | - //老师音频按钮点击 | ||
| 86 | - $(".teacherVideo-voice").click(function (e) { | ||
| 87 | - console.log("teacherVideo-voice点击"); | ||
| 88 | - $("#teacherVideo-video").html(""); | ||
| 89 | - $("#teacherVideo-video").removeClass("teacherVideo-videoBg"); | ||
| 90 | - $("#teacherVideo-video").addClass("teacherVideo-video"); | ||
| 91 | - | ||
| 92 | - $("#teacherVideo-voice").html(""); | ||
| 93 | - $("#teacherVideo-voice").removeClass("teacherVideo-voice"); | ||
| 94 | - $("#teacherVideo-voice").addClass("teacherVideo-voiceBg"); | ||
| 95 | - }); | ||
| 96 | - | ||
| 97 | //老师视频关闭按钮点击 | 144 | //老师视频关闭按钮点击 |
| 98 | $("#teacherVideo-videoBg").click(function (e) { | 145 | $("#teacherVideo-videoBg").click(function (e) { |
| 99 | if(window.publishflash) { | 146 | if(window.publishflash) { |
| @@ -101,12 +148,14 @@ $(function () { | @@ -101,12 +148,14 @@ $(function () { | ||
| 101 | type: 5, | 148 | type: 5, |
| 102 | videoId: publishflashVideoId, | 149 | videoId: publishflashVideoId, |
| 103 | }); | 150 | }); |
| 151 | + console.log("publishflashVideoId",publishflashVideoId); | ||
| 104 | console.log(publishflash._js2native(stopInfo)); | 152 | console.log(publishflash._js2native(stopInfo)); |
| 105 | } | 153 | } |
| 106 | 154 | ||
| 107 | var paramInfo={ | 155 | var paramInfo={ |
| 108 | "nodeId": Number(classAllInfo.nodeId)//用户的nodeId | 156 | "nodeId": Number(classAllInfo.nodeId)//用户的nodeId |
| 109 | }; | 157 | }; |
| 158 | + console.log(classAllInfo.nodeId); | ||
| 110 | client.stopPublishVideo(paramInfo); | 159 | client.stopPublishVideo(paramInfo); |
| 111 | 160 | ||
| 112 | $(".publish").css("display","none"); | 161 | $(".publish").css("display","none"); |
| @@ -114,35 +163,535 @@ $(function () { | @@ -114,35 +163,535 @@ $(function () { | ||
| 114 | $(".teacherVideoBg").css("display","block"); | 163 | $(".teacherVideoBg").css("display","block"); |
| 115 | $("#teacherVideo-video").css("display","block"); | 164 | $("#teacherVideo-video").css("display","block"); |
| 116 | $("#teacherVideo-videoBg").css("display","none"); | 165 | $("#teacherVideo-videoBg").css("display","none"); |
| 166 | + }); | ||
| 167 | + | ||
| 168 | + //老师音频按钮点击 | ||
| 169 | + $("#teacherVideo-voice").click(function (e) { | ||
| 170 | + console.log("teacherVideo-voice点击"); | ||
| 171 | + var teaVideoDisplay= $(".teacherVideo-videoBg").css("display"); | ||
| 172 | + if(teaVideoDisplay=="block"){ | ||
| 173 | + $("#teacherVideo-videoBg").trigger("click"); | ||
| 174 | + } | ||
| 175 | + $("#teacherVideo-voice").css("display","none"); | ||
| 176 | + $("#teacherVideo-voiceBg").css("display","block"); | ||
| 177 | + $(".publish").css("display","none"); | ||
| 178 | + $(".teacherVideoBg").css("display","none"); | ||
| 179 | + | ||
| 180 | + // /获取老师只推音频地址 | ||
| 181 | + achieveTeaVoice(); | ||
| 182 | + | ||
| 183 | + }); | ||
| 184 | + | ||
| 185 | + //老师音频关闭按钮点击 | ||
| 186 | + $("#teacherVideo-voiceBg").click(function (e) { | ||
| 187 | + console.log("teacherVideo-voice点击"); | ||
| 188 | + $(".publish").css("display","none"); | ||
| 189 | + $(".teacherVideo").css("background", "#f5f9fb"); | ||
| 190 | + $(".teacherVoicing").css("display","none"); | ||
| 191 | + $(".teacherVideo-voiceBg").css("display","none"); | ||
| 192 | + $(".teacherVideo-voice").css("display","block"); | ||
| 117 | 193 | ||
| 194 | + var paramInfo={ | ||
| 195 | + "nodeId": Number(classAllInfo.nodeId)//用户的nodeId | ||
| 196 | + }; | ||
| 197 | + client.stopPublishAudio(paramInfo); | ||
| 118 | 198 | ||
| 119 | 199 | ||
| 200 | + if(window.publishflashVoice) { | ||
| 201 | + const stopTeaInfo = JSON.stringify({ | ||
| 202 | + type: 5, | ||
| 203 | + videoId: publishflashVoiceId, | ||
| 204 | + }); | ||
| 205 | + console.log(publishflashVoice._js2native(stopTeaInfo)); | ||
| 206 | + } | ||
| 120 | 207 | ||
| 121 | 208 | ||
| 122 | 209 | ||
| 210 | + $(".publish").css("display","none"); | ||
| 211 | + $(".teacherVideo").css("background", "#f5f9fb"); | ||
| 212 | + $(".teacherVideoBg").css("display","block"); | ||
| 213 | + $("#teacherVideo-video").css("display","block"); | ||
| 214 | + $("#teacherVideo-videoBg").css("display","none"); | ||
| 215 | + $("#teacherVideo-voice").css("display","block"); | ||
| 216 | + $("#teacherVideo-voiceBg").css("display","none"); | ||
| 217 | + | ||
| 218 | + | ||
| 123 | }); | 219 | }); |
| 124 | 220 | ||
| 221 | + | ||
| 125 | }); | 222 | }); |
| 223 | +//监听学生视频更新 | ||
| 224 | +function stuBroadcast(callbackDate){ | ||
| 225 | + if (callbackDate.actionType==1){ | ||
| 226 | + $(".stuVideoBg").css("display","none"); | ||
| 227 | + if(classAllInfo.userRole=="normal"){ | ||
| 228 | + //获取推流地址 | ||
| 229 | + achieveStuPushStream(); | ||
| 230 | + } | ||
| 231 | + } | ||
| 232 | + if(callbackDate.actionType==2){ | ||
| 233 | + if(window.publishStuflash) { | ||
| 234 | + const stopStuInfo = JSON.stringify({ | ||
| 235 | + type: 5, | ||
| 236 | + videoId: publishflashStuVideoId, | ||
| 237 | + }); | ||
| 238 | + console.log(publishStuflash._js2native(stopStuInfo)); | ||
| 239 | + } | ||
| 126 | 240 | ||
| 127 | - //获取推流地址 | ||
| 128 | - function achieveTeaStream(){ | ||
| 129 | - $(".publish").css("display","block"); | ||
| 130 | - $(".play").css("display","none"); | 241 | + var paramInfo={ |
| 242 | + "nodeId": Number(stuNodeId)//用户的nodeId | ||
| 243 | + }; | ||
| 244 | + client.stopPublishVideo(paramInfo); | ||
| 245 | + $(".stuPlay").css("display","none"); | ||
| 246 | + $(".stuPublish").css("display","none"); | ||
| 247 | + $(".studentVideo").css("background", "#f5f9fb"); | ||
| 248 | + $(".stuVideoBg").css("display","block"); | ||
| 249 | + $("#stuVideo-voice").css("display","block"); | ||
| 250 | + $("#stuVideo-voiceBg").css("display","none"); | ||
| 251 | + | ||
| 252 | + if (classAllInfo.userRole=="normal"){ | ||
| 253 | + $(".stuVideo-video").css("display","none"); | ||
| 254 | + } | ||
| 255 | + } | ||
| 256 | + | ||
| 257 | + | ||
| 258 | + | ||
| 259 | +} | ||
| 131 | 260 | ||
| 261 | +//监听学生音频更新 | ||
| 262 | +function stuAudioBroadcast(callbackDate){ | ||
| 263 | + if (callbackDate.actionType==1){ | ||
| 264 | + $(".stuVideoBg").css("display","none"); | ||
| 265 | + $(".stuPlay").css("display","none"); | ||
| 266 | + if(classAllInfo.userRole=="normal"){ | ||
| 267 | + //获取学生只推音频地址 | ||
| 268 | + achieveStuVoice(); | ||
| 269 | + } | ||
| 270 | + } | ||
| 271 | + if(callbackDate.actionType==2){ | ||
| 272 | + if(window.publishflashStuVoice) { | ||
| 273 | + const stopStuInfo = JSON.stringify({ | ||
| 274 | + type: 5, | ||
| 275 | + videoId: publishflashStuVoiceId, | ||
| 276 | + }); | ||
| 277 | + console.log(publishflashStuVoice._js2native(stopStuInfo)); | ||
| 278 | + } | ||
| 132 | 279 | ||
| 133 | var paramInfo={ | 280 | var paramInfo={ |
| 134 | - "type": "flash" | 281 | + "nodeId": Number(stuNodeId)//用户的nodeId |
| 135 | }; | 282 | }; |
| 136 | - var pubResult=client.getVideoPublishPath(paramInfo); | 283 | + client.stopPublishAudio(paramInfo); |
| 284 | + | ||
| 285 | + $(".stuPlay").css("display","none"); | ||
| 286 | + $(".stuPublish").css("display","none"); | ||
| 287 | + $(".studentVideo").css("background", "#f5f9fb"); | ||
| 288 | + $(".stuVideoBg").css("display","block"); | ||
| 289 | + $("#stuVideo-video").css("display","block"); | ||
| 290 | + $("#stuVideo-videoBg").css("display","none"); | ||
| 291 | + | ||
| 292 | + if (classAllInfo.userRole=="normal"){ | ||
| 293 | + $(".stuVideo-voice").css("display","none"); | ||
| 294 | + $(".stuVideo-video").css("display","none"); | ||
| 295 | + } | ||
| 296 | + } | ||
| 297 | +} | ||
| 298 | + | ||
| 299 | + | ||
| 300 | +//人员进入 | ||
| 301 | +function userListUpdate(callbackData) { | ||
| 302 | + | ||
| 303 | + console.log("人员进入",callbackData); | ||
| 304 | + if (classAllInfo.nodeId==callbackData.nodeId){ | ||
| 305 | + | ||
| 306 | + }else{ | ||
| 307 | + console.log("callbackData.nodeId================>",callbackData.nodeId) | ||
| 308 | + stuNodeId=callbackData.nodeId; | ||
| 309 | + } | ||
| 310 | + | ||
| 311 | + | ||
| 312 | +} | ||
| 313 | + | ||
| 314 | +// 监听当前是否有视频流更新 | ||
| 315 | +function _videoUpdate(callbackDate){ | ||
| 316 | + | ||
| 317 | + console.log("videoUpdate==============>",callbackDate); | ||
| 318 | + | ||
| 319 | + // alert((classAllInfo.userRole=="host")&&(callbackDate.status==1)&&(callbackDate.fromNodeId==stuNodeId)); | ||
| 320 | + | ||
| 321 | + if((classAllInfo.userRole=="host")&&(callbackDate.status==1)&&(callbackDate.fromNodeId==stuNodeId)){ | ||
| 322 | + //获取学生播流地址 | ||
| 323 | + achieveStuPlayStream(callbackDate); | ||
| 324 | + | ||
| 325 | + $(".teacherVideo").css("background","#f5f9fb"); | ||
| 326 | + $(".teacherVideoBg").css("display","block"); | ||
| 327 | + | ||
| 328 | + } | ||
| 329 | + | ||
| 330 | + | ||
| 331 | + | ||
| 332 | + if ((classAllInfo.userRole=="normal")&&(callbackDate.status==1)&&(callbackDate.channelId!=='')&&(callbackDate.fromNodeId==stuNodeId)){ | ||
| 333 | + | ||
| 334 | + achievePlayStream(callbackDate); | ||
| 335 | + | ||
| 336 | + } | ||
| 337 | + | ||
| 338 | + //流的状态为0 | ||
| 339 | + | ||
| 340 | + if(callbackDate.status==0){ | ||
| 341 | + | ||
| 342 | + console.log("callbackDate.fromNodeId,stuNodeId"); | ||
| 343 | + console.log(callbackDate.fromNodeId,stuNodeId); | ||
| 344 | + if(callbackDate.fromNodeId==stuNodeId){ | ||
| 345 | + if (classAllInfo.userRole=="normal"){ | ||
| 346 | + // $(".play").css("display","none"); | ||
| 347 | + } | ||
| 348 | + | ||
| 349 | + // $(".play").css("display","none"); | ||
| 350 | + $(".teacherVideoBg").css("display","block"); | ||
| 351 | + $(".teacherVideo").css("background", "#f5f9fb"); | ||
| 352 | + if(window.playflash){ | ||
| 353 | + console.log("playflashVideoId",playflashVideoId); | ||
| 354 | + const stopPlayInfo = JSON.stringify({ | ||
| 355 | + type: 5, | ||
| 356 | + videoId: playflashVideoId | ||
| 357 | + }); | ||
| 358 | + console.log(playflash._js2native(stopPlayInfo)); | ||
| 359 | + } | ||
| 360 | + } | ||
| 361 | + } | ||
| 362 | + | ||
| 363 | +} | ||
| 364 | +// 监听当前是否有音频流更新 | ||
| 365 | +function _audioUpdate(callbackDate){ | ||
| 366 | + | ||
| 367 | + if((classAllInfo.userRole=="host")&&(callbackDate.status==1)&&(callbackDate.fromNodeId==stuNodeId)){ | ||
| 368 | + //获取学生播流地址 | ||
| 369 | + achieveStuPlayStream(callbackDate); | ||
| 370 | + $(".stuPlay").css("display","block"); | ||
| 371 | + | ||
| 372 | + $(".teacherVideo").css("background","#f5f9fb"); | ||
| 373 | + $(".teacherVideoBg").css("display","block"); | ||
| 374 | + | ||
| 375 | + } | ||
| 376 | + | ||
| 377 | + | ||
| 378 | + if ((classAllInfo.userRole=="normal")&&(callbackDate.status==1)&&(callbackDate.channelId!=='')&&(callbackDate.fromNodeId==stuNodeId)){ | ||
| 379 | + achievePlayVoiceStream(callbackDate); | ||
| 380 | + | ||
| 381 | + } | ||
| 382 | + if(callbackDate.status==0){ | ||
| 383 | + $(".teacherVideoBg").css("display","block"); | ||
| 384 | + $(".teacherVideo").css("background", "#f5f9fb"); | ||
| 385 | + if(window.playflashVoice) { | ||
| 386 | + console.log("playflashVoiceId", playflashVoiceId); | ||
| 387 | + | ||
| 388 | + if (callbackDate.fromNodeId == stuNodeId) { | ||
| 389 | + if (classAllInfo.userRole=="normal"){ | ||
| 390 | + $(".play").css("display","none"); | ||
| 391 | + } | ||
| 392 | + const stopPlayInfo = JSON.stringify({ | ||
| 393 | + type: 5, | ||
| 394 | + videoId: playflashVoiceId | ||
| 395 | + }); | ||
| 396 | + console.log(playflashVoice._js2native(stopPlayInfo)); | ||
| 397 | + } | ||
| 398 | + } | ||
| 399 | + } | ||
| 400 | + | ||
| 401 | + | ||
| 402 | + | ||
| 403 | +} | ||
| 404 | + | ||
| 405 | +// //获取学生推流地址 | ||
| 406 | +function achieveStuPushStream() { | ||
| 407 | + $(".stuPublish").css("display","block"); | ||
| 408 | + $(".stuPlay").css("display","none"); | ||
| 409 | + var paramInfo={ | ||
| 410 | + "type": "flash" | ||
| 411 | + }; | ||
| 412 | + var pubStuResult=client.getVideoPublishPath(paramInfo); | ||
| 413 | + | ||
| 414 | + console.log("执行getPublishVideoPath,返回的结果",pubStuResult); | ||
| 415 | + | ||
| 416 | + //code为0,代表成功 | ||
| 417 | + if (pubStuResult.code==0){ | ||
| 418 | + if(! window.publishStuflash) { | ||
| 419 | + flashvideo( | ||
| 420 | + 'stuPublish', | ||
| 421 | + '100%', | ||
| 422 | + '100%', | ||
| 423 | + function (error, publishflash) { | ||
| 424 | + if (error) { | ||
| 425 | + return console.error(error); | ||
| 426 | + } | ||
| 427 | + window.publishStuflash = publishflash; | ||
| 428 | + window.publishflashStuVideoId = teaTimeStamp(); | ||
| 429 | + | ||
| 430 | + publishStuURL(pubStuResult.publishUrl); | ||
| 431 | + }, | ||
| 432 | + function (msg) { | ||
| 433 | + | ||
| 434 | + console.log(' [stuPublish] native 2 js', msg); | ||
| 435 | + var _msg=JSON.parse(msg); | ||
| 436 | + console.log("_msg===========>",_msg); | ||
| 437 | + if(_msg.data.result == 0){ | ||
| 438 | + //将之前底层取的推流结果传递给底层 | ||
| 439 | + var _successErrorResult= client.publishVideo(pubStuResult); | ||
| 440 | + console.log("_successErrorResult======>",_successErrorResult) | ||
| 441 | + if(_successErrorResult.code==0){ | ||
| 442 | + console.log("底层广播推流成功"); | ||
| 443 | + | ||
| 444 | + } else if(_successErrorResult.code==1){ | ||
| 445 | + console.log("底层广播推流失败,关闭推流"); | ||
| 446 | + } | ||
| 447 | + | ||
| 448 | + }else { | ||
| 449 | + console.error('stuPublish error'); | ||
| 450 | + } | ||
| 451 | + } | ||
| 452 | + ) | ||
| 453 | + | ||
| 454 | + } | ||
| 455 | + else { | ||
| 456 | + publishStuURL(pubStuResult.publishUrl); | ||
| 457 | + } | ||
| 458 | + | ||
| 459 | + }else if(pubStuResult.code==1){ | ||
| 460 | + | ||
| 461 | + } | ||
| 462 | +} | ||
| 463 | + | ||
| 464 | +function publishStuURL(rtmpStuURL){ | ||
| 465 | + const msg = JSON.stringify({ | ||
| 466 | + type: 10, | ||
| 467 | + videoId: publishflashStuVideoId, | ||
| 468 | + data: { | ||
| 469 | + video:true, | ||
| 470 | + audio:true, | ||
| 471 | + url: rtmpStuURL | ||
| 472 | + } | ||
| 473 | + }); | ||
| 474 | + console.log(publishStuflash._js2native(msg)); | ||
| 475 | +} | ||
| 476 | + | ||
| 477 | +//获取学生播流地址 | ||
| 478 | +function achieveStuPlayStream(_pubResultObj) { | ||
| 479 | + console.log("_pubResultObj==========>",_pubResultObj) | ||
| 480 | + var _paramInfo={ | ||
| 481 | + "type": "rtmp", | ||
| 482 | + "channelId": _pubResultObj.channelId,//频道号 | ||
| 483 | + "classId": _pubResultObj.classId,//课堂号 | ||
| 484 | + "siteId": _pubResultObj.siteId,//站点号 | ||
| 485 | + "timestamp":_pubResultObj.timestamp,//时间戳 | ||
| 486 | + "userId": _pubResultObj.userId,//userId | ||
| 487 | + }; | ||
| 488 | + var streamInfo=client.getVideoPlayPath(_paramInfo); | ||
| 489 | + console.log("result是=============>",streamInfo); | ||
| 490 | + // $(".play").css("display","block"); | ||
| 491 | + $(".teacherVideoBg").css("display","none"); | ||
| 492 | + $(".teacherVideo").css("background", "#CCCCCC"); | ||
| 493 | + $(".teacherVideo-voice").css("bottom","4px"); | ||
| 494 | + | ||
| 495 | + if(! window.playflashStu) { | ||
| 496 | + flashvideo( | ||
| 497 | + 'stuPlay', | ||
| 498 | + '100%', | ||
| 499 | + '100%', | ||
| 500 | + function createPlayReady(error, playflash) { | ||
| 501 | + if (error) { | ||
| 502 | + return console.error(error); | ||
| 503 | + } | ||
| 504 | + window.playflashStu = playflash; | ||
| 505 | + window.playflashStuVideoId = teaTimeStamp(); | ||
| 506 | + | ||
| 507 | + playStuURL(streamInfo.playUrl); | ||
| 508 | + }, | ||
| 509 | + function (msg) { | ||
| 510 | + console.log(' [play] native 2 js', msg); | ||
| 511 | + } | ||
| 512 | + ) | ||
| 513 | + } | ||
| 514 | + else { | ||
| 515 | + playStuURL(streamInfo.playUrl); | ||
| 516 | + } | ||
| 517 | + | ||
| 518 | + | ||
| 519 | +} | ||
| 520 | + | ||
| 521 | +function playStuURL(rtmpURL){ | ||
| 522 | + const msg = JSON.stringify({ | ||
| 523 | + type: 2, | ||
| 524 | + videoId: playflashStuVideoId, | ||
| 525 | + data: { | ||
| 526 | + url: rtmpURL | ||
| 527 | + // url:'rtmp://123.56.205.116:1935/live/alexwang' | ||
| 528 | + } | ||
| 529 | + }); | ||
| 530 | + console.log(playflashStu._js2native(msg)); | ||
| 531 | +} | ||
| 532 | + | ||
| 533 | +//获取学生只推音频 | ||
| 534 | +function achieveStuVoice() { | ||
| 535 | + | ||
| 536 | + var paramInfo={ | ||
| 537 | + "type": "flash" | ||
| 538 | + }; | ||
| 539 | + var pubResult=client.getAudioPublishPath(paramInfo); | ||
| 540 | + console.log("执行getAudioPublishPath,返回的结果",pubResult); | ||
| 541 | + | ||
| 542 | + //code为0,代表成功 | ||
| 543 | + if (pubResult.code==0){ | ||
| 544 | + if(! window.publishflashStuVoice) { | ||
| 545 | + flashvideo( | ||
| 546 | + 'stuPublish', | ||
| 547 | + '100%', | ||
| 548 | + '100%', | ||
| 549 | + function (error, publishflash) { | ||
| 550 | + if (error) { | ||
| 551 | + return console.error(error); | ||
| 552 | + } | ||
| 553 | + window.publishflashStuVoice = publishflash; | ||
| 554 | + window.publishflashStuVoiceId = teaTimeStamp(); | ||
| 555 | + | ||
| 556 | + publishStuVoiceURL(pubResult.publishUrl); | ||
| 557 | + }, | ||
| 558 | + function (msg) { | ||
| 559 | + | ||
| 560 | + console.log(' [publish] native 2 js', msg); | ||
| 561 | + var _msg=JSON.parse(msg); | ||
| 562 | + console.log("_msg===========>",_msg); | ||
| 563 | + if(_msg.data.result == 0){ | ||
| 564 | + | ||
| 565 | + //将之前底层取的推流结果传递给底层 | ||
| 566 | + var _successErrorResult= client.publishAudio(pubResult); | ||
| 567 | + console.log("_successErrorResult======>",_successErrorResult) | ||
| 568 | + if(_successErrorResult.code==0){ | ||
| 569 | + console.log("底层广播推流成功"); | ||
| 570 | + | ||
| 571 | + } else if(_successErrorResult.code==1){ | ||
| 572 | + console.log("底层广播推流失败,关闭推流"); | ||
| 573 | + } | ||
| 574 | + | ||
| 575 | + }else { | ||
| 576 | + console.error('publish error'); | ||
| 577 | + } | ||
| 578 | + } | ||
| 579 | + ) | ||
| 580 | + | ||
| 581 | + } | ||
| 582 | + else { | ||
| 583 | + publishStuVoiceURL(pubResult.publishUrl); | ||
| 584 | + } | ||
| 585 | + | ||
| 586 | + }else if(pubResult.code==1){ | ||
| 587 | + | ||
| 588 | + } | ||
| 589 | + | ||
| 590 | +} | ||
| 591 | +function publishStuVoiceURL(rtmpURL) { | ||
| 592 | + const msg = JSON.stringify({ | ||
| 593 | + type: 10, | ||
| 594 | + videoId: publishflashStuVoiceId, | ||
| 595 | + data: { | ||
| 596 | + video:false, | ||
| 597 | + audio:true, | ||
| 598 | + url: rtmpURL | ||
| 599 | + } | ||
| 600 | + }); | ||
| 601 | + console.log(publishflashStuVoice._js2native(msg)); | ||
| 602 | +} | ||
| 137 | 603 | ||
| 138 | - console.log("执行getPublishVideoPath,返回的结果",pubResult); | ||
| 139 | 604 | ||
| 140 | 605 | ||
| 606 | +//获取老师只推音频 | ||
| 607 | +function achieveTeaVoice() { | ||
| 608 | + $(".publish").css("display","block"); | ||
| 609 | + $(".play").css("display","none"); | ||
| 610 | + var paramInfo={ | ||
| 611 | + "type": "flash" | ||
| 612 | + }; | ||
| 613 | + var pubResult=client.getAudioPublishPath(paramInfo); | ||
| 614 | + console.log("执行getAudioPublishPath,返回的结果",pubResult); | ||
| 615 | + | ||
| 616 | + //code为0,代表成功 | ||
| 617 | + if (pubResult.code==0){ | ||
| 618 | + if(! window.publishflashVoice) { | ||
| 619 | + flashvideo( | ||
| 620 | + 'publish', | ||
| 621 | + '100%', | ||
| 622 | + '100%', | ||
| 623 | + function (error, publishflash) { | ||
| 624 | + if (error) { | ||
| 625 | + return console.error(error); | ||
| 626 | + } | ||
| 627 | + window.publishflashVoice = publishflash; | ||
| 628 | + window.publishflashVoiceId = teaTimeStamp(); | ||
| 629 | + | ||
| 630 | + publishTeaVoiceURL(pubResult.publishUrl); | ||
| 631 | + }, | ||
| 632 | + function (msg) { | ||
| 633 | + | ||
| 634 | + console.log(' [publish] native 2 js', msg); | ||
| 635 | + var _msg=JSON.parse(msg); | ||
| 636 | + console.log("_msg===========>",_msg); | ||
| 637 | + if(_msg.data.result == 0){ | ||
| 638 | + | ||
| 639 | + //将之前底层取的推流结果传递给底层 | ||
| 640 | + var _successErrorResult= client.publishAudio(pubResult); | ||
| 641 | + console.log("_successErrorResult======>",_successErrorResult) | ||
| 642 | + if(_successErrorResult.code==0){ | ||
| 643 | + console.log("底层广播推流成功"); | ||
| 644 | + | ||
| 645 | + } else if(_successErrorResult.code==1){ | ||
| 646 | + console.log("底层广播推流失败,关闭推流"); | ||
| 647 | + } | ||
| 648 | + | ||
| 649 | + }else { | ||
| 650 | + console.error('publish error'); | ||
| 651 | + } | ||
| 652 | + } | ||
| 653 | + ) | ||
| 654 | + | ||
| 655 | + } | ||
| 656 | + else { | ||
| 657 | + publishTeaVoiceURL(pubResult.publishUrl); | ||
| 658 | + } | ||
| 659 | + | ||
| 660 | + }else if(pubResult.code==1){ | ||
| 661 | + | ||
| 662 | + } | ||
| 141 | 663 | ||
| 142 | 664 | ||
| 665 | +} | ||
| 666 | + | ||
| 667 | +function publishTeaVoiceURL(rtmpURL) { | ||
| 668 | + const msg = JSON.stringify({ | ||
| 669 | + type: 10, | ||
| 670 | + videoId: publishflashVoiceId, | ||
| 671 | + data: { | ||
| 672 | + video:false, | ||
| 673 | + audio:true, | ||
| 674 | + url: rtmpURL | ||
| 675 | + } | ||
| 676 | + }); | ||
| 677 | + console.log(publishflashVoice._js2native(msg)); | ||
| 678 | +} | ||
| 679 | + | ||
| 680 | + | ||
| 681 | + //获取老师推流音视频地址 | ||
| 682 | +function achieveTeaStream(){ | ||
| 683 | + $(".publish").css("display","block"); | ||
| 684 | + $(".play").css("display","none"); | ||
| 685 | + var paramInfo={ | ||
| 686 | + "type": "flash" | ||
| 687 | + }; | ||
| 688 | + var pubResult=client.getVideoPublishPath(paramInfo); | ||
| 689 | + console.log("执行getPublishVideoPath,返回的结果",pubResult); | ||
| 690 | + | ||
| 143 | //code为0,代表成功 | 691 | //code为0,代表成功 |
| 144 | if (pubResult.code==0){ | 692 | if (pubResult.code==0){ |
| 145 | if(! window.publishflash) { | 693 | if(! window.publishflash) { |
| 694 | + console.log("if==================>"); | ||
| 146 | flashvideo( | 695 | flashvideo( |
| 147 | 'publish', | 696 | 'publish', |
| 148 | '100%', | 697 | '100%', |
| @@ -157,7 +706,6 @@ $(function () { | @@ -157,7 +706,6 @@ $(function () { | ||
| 157 | publishURL(pubResult.publishUrl); | 706 | publishURL(pubResult.publishUrl); |
| 158 | }, | 707 | }, |
| 159 | function (msg) { | 708 | function (msg) { |
| 160 | - | ||
| 161 | console.log(' [publish] native 2 js', msg); | 709 | console.log(' [publish] native 2 js', msg); |
| 162 | var _msg=JSON.parse(msg); | 710 | var _msg=JSON.parse(msg); |
| 163 | console.log("_msg===========>",_msg); | 711 | console.log("_msg===========>",_msg); |
| @@ -169,71 +717,98 @@ $(function () { | @@ -169,71 +717,98 @@ $(function () { | ||
| 169 | console.log("底层广播推流成功"); | 717 | console.log("底层广播推流成功"); |
| 170 | } else if(_successErrorResult.code==1){ | 718 | } else if(_successErrorResult.code==1){ |
| 171 | console.log("底层广播推流失败,关闭推流"); | 719 | console.log("底层广播推流失败,关闭推流"); |
| 172 | - | ||
| 173 | } | 720 | } |
| 174 | 721 | ||
| 175 | }else { | 722 | }else { |
| 176 | console.error('publish error'); | 723 | console.error('publish error'); |
| 177 | - | ||
| 178 | - | ||
| 179 | - | ||
| 180 | } | 724 | } |
| 181 | } | 725 | } |
| 182 | ) | 726 | ) |
| 183 | - | ||
| 184 | } | 727 | } |
| 185 | else { | 728 | else { |
| 729 | + console.log("else=============>"); | ||
| 186 | publishURL(pubResult.publishUrl); | 730 | publishURL(pubResult.publishUrl); |
| 187 | } | 731 | } |
| 188 | 732 | ||
| 189 | }else if(pubResult.code==1){ | 733 | }else if(pubResult.code==1){ |
| 190 | 734 | ||
| 735 | + console.log("pubResult.code==1"); | ||
| 191 | } | 736 | } |
| 192 | } | 737 | } |
| 738 | + //推音视频 js2native | ||
| 193 | function publishURL(rtmpURL) { | 739 | function publishURL(rtmpURL) { |
| 194 | const msg = JSON.stringify({ | 740 | const msg = JSON.stringify({ |
| 195 | type: 10, | 741 | type: 10, |
| 196 | videoId: publishflashVideoId, | 742 | videoId: publishflashVideoId, |
| 197 | data: { | 743 | data: { |
| 744 | + video:true, | ||
| 745 | + audio:true, | ||
| 198 | url: rtmpURL | 746 | url: rtmpURL |
| 199 | } | 747 | } |
| 200 | }); | 748 | }); |
| 749 | + console.log("publishflashVideoId======>",publishflashVideoId); | ||
| 750 | + console.log(publishflash); | ||
| 201 | console.log(publishflash._js2native(msg)); | 751 | console.log(publishflash._js2native(msg)); |
| 202 | } | 752 | } |
| 203 | 753 | ||
| 204 | - // 监听当前是否有视频流更新 | ||
| 205 | - function _videoUpdate(callbackDate){ | ||
| 206 | - playCallbackDate=callbackDate; | ||
| 207 | - console.log("videoUpdate==============>",playCallbackDate); | ||
| 208 | - | ||
| 209 | - | ||
| 210 | - if ((callbackDate.status==1)&&(callbackDate.channelId!=='')){ | ||
| 211 | - | ||
| 212 | - achievePlayStream(playCallbackDate); | 754 | + //获取播放音频地址 |
| 755 | +function achievePlayVoiceStream(_pubResultObj){ | ||
| 756 | + | ||
| 757 | + console.log("_pubResultObj==========>",_pubResultObj) | ||
| 758 | + var _paramInfo={ | ||
| 759 | + "type": "rtmp", | ||
| 760 | + "channelId": _pubResultObj.channelId,//频道号 | ||
| 761 | + "classId": _pubResultObj.classId,//课堂号 | ||
| 762 | + "siteId": _pubResultObj.siteId,//站点号 | ||
| 763 | + "timestamp":_pubResultObj.timestamp,//时间戳 | ||
| 764 | + "userId": _pubResultObj.userId,//userId | ||
| 765 | + }; | ||
| 766 | + var streamInfo=client.getAudioPlayPath(_paramInfo); | ||
| 767 | + console.log("result是=============>",streamInfo); | ||
| 768 | + $(".play").css("display","block"); | ||
| 769 | + $(".teacherVideoBg").css("display","none"); | ||
| 770 | + $(".teacherVideo").css("background", "#CCCCCC"); | ||
| 771 | + $(".teacherVideo-voice").css("bottom","4px"); | ||
| 772 | + | ||
| 773 | + if(! window.playflashVoice) { | ||
| 774 | + flashvideo( | ||
| 775 | + 'play', | ||
| 776 | + '100%', | ||
| 777 | + '100%', | ||
| 778 | + function createPlayReady(error, playflash) { | ||
| 779 | + if (error) { | ||
| 780 | + return console.error(error); | ||
| 781 | + } | ||
| 782 | + window.playflashVoice = playflash; | ||
| 783 | + window.playflashVoiceId = teaTimeStamp(); | ||
| 213 | 784 | ||
| 785 | + playVoiceURL(streamInfo.playUrl); | ||
| 786 | + }, | ||
| 787 | + function (msg) { | ||
| 788 | + console.log(' [play] native 2 js', msg); | ||
| 789 | + } | ||
| 790 | + ) | ||
| 791 | + } | ||
| 792 | + else { | ||
| 793 | + playVoiceURL(streamInfo.playUrl); | ||
| 214 | } | 794 | } |
| 215 | - if(callbackDate.status==0){ | ||
| 216 | - if(window.playflash){ | ||
| 217 | - console.log("playflashVideoId",playflashVideoId); | ||
| 218 | - const stopPlayInfo = JSON.stringify({ | ||
| 219 | - type: 5, | ||
| 220 | - videoId: playflashVideoId | ||
| 221 | - }); | ||
| 222 | - console.log(playflash._js2native(stopPlayInfo)); | ||
| 223 | - } | ||
| 224 | - $("#teacherVideo-videoBg").css("display","none"); | ||
| 225 | - $("#teacherVideo-video").html(""); | ||
| 226 | - $(".play").css("display","none"); | ||
| 227 | - $(".teacherVideo").css("background", "#f5f9fb"); | ||
| 228 | - $(".teacherVideoBg").css("display","block"); | ||
| 229 | - | ||
| 230 | 795 | ||
| 231 | 796 | ||
| 232 | - } | 797 | +} |
| 233 | 798 | ||
| 799 | +function playVoiceURL(rtmpURL){ | ||
| 800 | + const msg = JSON.stringify({ | ||
| 801 | + type: 2, | ||
| 802 | + videoId: playflashVoiceId, | ||
| 803 | + data: { | ||
| 804 | + url: rtmpURL | ||
| 805 | + // url:'rtmp://123.56.205.116:1935/live/alexwang' | ||
| 806 | + } | ||
| 807 | + }); | ||
| 808 | + console.log(playflashVoice._js2native(msg)); | ||
| 234 | } | 809 | } |
| 235 | 810 | ||
| 236 | - //获取播流地址 | 811 | + //获取音视频播流地址 |
| 237 | function achievePlayStream(_pubResultObj){ | 812 | function achievePlayStream(_pubResultObj){ |
| 238 | console.log("_pubResultObj==========>",_pubResultObj) | 813 | console.log("_pubResultObj==========>",_pubResultObj) |
| 239 | var _paramInfo={ | 814 | var _paramInfo={ |
| @@ -246,9 +821,8 @@ function publishURL(rtmpURL) { | @@ -246,9 +821,8 @@ function publishURL(rtmpURL) { | ||
| 246 | }; | 821 | }; |
| 247 | var streamInfo=client.getVideoPlayPath(_paramInfo); | 822 | var streamInfo=client.getVideoPlayPath(_paramInfo); |
| 248 | console.log("result是=============>",streamInfo); | 823 | console.log("result是=============>",streamInfo); |
| 249 | - $(".play").css("display","block"); | 824 | + // $(".play").css("display","block"); |
| 250 | $(".teacherVideoBg").css("display","none"); | 825 | $(".teacherVideoBg").css("display","none"); |
| 251 | - | ||
| 252 | $(".teacherVideo").css("background", "#CCCCCC"); | 826 | $(".teacherVideo").css("background", "#CCCCCC"); |
| 253 | $(".teacherVideo-voice").css("bottom","4px"); | 827 | $(".teacherVideo-voice").css("bottom","4px"); |
| 254 | 828 | ||
| @@ -285,6 +859,7 @@ function publishURL(rtmpURL) { | @@ -285,6 +859,7 @@ function publishURL(rtmpURL) { | ||
| 285 | // url:'rtmp://123.56.205.116:1935/live/alexwang' | 859 | // url:'rtmp://123.56.205.116:1935/live/alexwang' |
| 286 | } | 860 | } |
| 287 | }); | 861 | }); |
| 862 | + | ||
| 288 | console.log(playflash._js2native(msg)); | 863 | console.log(playflash._js2native(msg)); |
| 289 | } | 864 | } |
| 290 | 865 |
-
请 注册 或 登录 后发表评论