张桐

3.9 修改音视频模块,修改开始上课样式

@@ -1732,7 +1732,7 @@ a.am-btn-default:visited { @@ -1732,7 +1732,7 @@ a.am-btn-default:visited {
1732 .am-btn-primary { 1732 .am-btn-primary {
1733 color: #fff; 1733 color: #fff;
1734 /*background-color: #0e90d2;*/ 1734 /*background-color: #0e90d2;*/
1735 - border-color: #0e90d2 1735 + /*border-color: #0e90d2*/
1736 } 1736 }
1737 1737
1738 a.am-btn-primary:visited { 1738 a.am-btn-primary:visited {
@@ -1741,11 +1741,11 @@ a.am-btn-primary:visited { @@ -1741,11 +1741,11 @@ a.am-btn-primary:visited {
1741 1741
1742 .am-btn-primary.am-active, .am-btn-primary:active, .am-btn-primary:focus, .am-btn-primary:hover, .am-dropdown.am-active .am-btn-primary.am-dropdown-toggle { 1742 .am-btn-primary.am-active, .am-btn-primary:active, .am-btn-primary:focus, .am-btn-primary:hover, .am-dropdown.am-active .am-btn-primary.am-dropdown-toggle {
1743 color: #fff; 1743 color: #fff;
1744 - border-color: #0a6999 1744 + /*border-color: #0a6999*/
1745 } 1745 }
1746 1746
1747 .am-btn-primary:focus, .am-btn-primary:hover { 1747 .am-btn-primary:focus, .am-btn-primary:hover {
1748 - background-color: #0c79b1 1748 + /*background-color: #0c79b1*/
1749 } 1749 }
1750 1750
1751 .am-btn-primary.am-active, .am-btn-primary:active, .am-dropdown.am-active .am-btn-primary.am-dropdown-toggle { 1751 .am-btn-primary.am-active, .am-btn-primary:active, .am-dropdown.am-active .am-btn-primary.am-dropdown-toggle {
@@ -1755,7 +1755,7 @@ a.am-btn-primary:visited { @@ -1755,7 +1755,7 @@ a.am-btn-primary:visited {
1755 1755
1756 .am-btn-primary.am-disabled, .am-btn-primary.am-disabled.am-active, .am-btn-primary.am-disabled:active, .am-btn-primary.am-disabled:focus, .am-btn-primary.am-disabled:hover, .am-btn-primary[disabled], .am-btn-primary[disabled].am-active, .am-btn-primary[disabled]:active, .am-btn-primary[disabled]:focus, .am-btn-primary[disabled]:hover, fieldset[disabled] .am-btn-primary, fieldset[disabled] .am-btn-primary.am-active, fieldset[disabled] .am-btn-primary:active, fieldset[disabled] .am-btn-primary:focus, fieldset[disabled] .am-btn-primary:hover { 1756 .am-btn-primary.am-disabled, .am-btn-primary.am-disabled.am-active, .am-btn-primary.am-disabled:active, .am-btn-primary.am-disabled:focus, .am-btn-primary.am-disabled:hover, .am-btn-primary[disabled], .am-btn-primary[disabled].am-active, .am-btn-primary[disabled]:active, .am-btn-primary[disabled]:focus, .am-btn-primary[disabled]:hover, fieldset[disabled] .am-btn-primary, fieldset[disabled] .am-btn-primary.am-active, fieldset[disabled] .am-btn-primary:active, fieldset[disabled] .am-btn-primary:focus, fieldset[disabled] .am-btn-primary:hover {
1757 background-color: #0e90d2; 1757 background-color: #0e90d2;
1758 - border-color: #0e90d2 1758 + /*border-color: #0e90d2*/
1759 } 1759 }
1760 1760
1761 .am-btn-group .am-btn-primary, .am-btn-group-stacked .am-btn-primary { 1761 .am-btn-group .am-btn-primary, .am-btn-group-stacked .am-btn-primary {
@@ -248,10 +248,10 @@ height: 1080px; @@ -248,10 +248,10 @@ height: 1080px;
248 margin-right: 10px; 248 margin-right: 10px;
249 } 249 }
250 250
251 -.header button:hover {  
252 - background: #f2f2f2;  
253 - color: #354755;  
254 -} 251 +/*.header button:hover {*/
  252 + /*background: #f2f2f2;*/
  253 + /*color: #354755;*/
  254 +/*}*/
255 .classroom { 255 .classroom {
256 float: left; 256 float: left;
257 margin-left: 20px; 257 margin-left: 20px;
@@ -290,6 +290,7 @@ height: 1080px; @@ -290,6 +290,7 @@ height: 1080px;
290 /*修改amazeui.min.css*/ 290 /*修改amazeui.min.css*/
291 .classNowBtn{ 291 .classNowBtn{
292 margin-right: 10px; 292 margin-right: 10px;
  293 + border:none;
293 } 294 }
294 .exitClose{ 295 .exitClose{
295 position:absolute; 296 position:absolute;
@@ -302,7 +303,7 @@ height: 1080px; @@ -302,7 +303,7 @@ height: 1080px;
302 width: 88px; 303 width: 88px;
303 } 304 }
304 .am-active > .am-dropdown-content{ 305 .am-active > .am-dropdown-content{
305 - z-index: 1; 306 + z-index: 3;
306 } 307 }
307 308
308 .am-btn-primary.am-active, .am-btn-primary:active, .am-dropdown.am-active .am-btn-primary.am-dropdown-toggle{ 309 .am-btn-primary.am-active, .am-btn-primary:active, .am-dropdown.am-active .am-btn-primary.am-dropdown-toggle{
@@ -312,6 +313,7 @@ height: 1080px; @@ -312,6 +313,7 @@ height: 1080px;
312 color: #2a3e4d; 313 color: #2a3e4d;
313 } 314 }
314 .am-dropdown-content { 315 .am-dropdown-content {
  316 +
315 min-width: 0; 317 min-width: 0;
316 z-index: 3000; 318 z-index: 3000;
317 left: -12px; 319 left: -12px;
@@ -370,6 +372,7 @@ height: 1080px; @@ -370,6 +372,7 @@ height: 1080px;
370 margin-top: 5px; 372 margin-top: 5px;
371 margin-bottom: 5px; 373 margin-bottom: 5px;
372 position: relative; 374 position: relative;
  375 + cursor: pointer;
373 } 376 }
374 .am-dropdown-content .am-dropdown-content-span{ 377 .am-dropdown-content .am-dropdown-content-span{
375 margin-left: 7px; 378 margin-left: 7px;
@@ -886,6 +889,9 @@ height: 1080px; @@ -886,6 +889,9 @@ height: 1080px;
886 889
887 890
888 } 891 }
  892 +.file-ul li:hover{
  893 + background: #3498db;
  894 +}
889 .forSwitch{ 895 .forSwitch{
890 cursor: pointer; 896 cursor: pointer;
891 } 897 }
@@ -1390,6 +1396,7 @@ height: 1080px; @@ -1390,6 +1396,7 @@ height: 1080px;
1390 margin: 0px 5px 0px 5px; 1396 margin: 0px 5px 0px 5px;
1391 1397
1392 } 1398 }
  1399 +
1393 .teacherVideo-videoBg{ 1400 .teacherVideo-videoBg{
1394 display: none; 1401 display: none;
1395 position: absolute; 1402 position: absolute;
@@ -2760,7 +2767,7 @@ canvas { @@ -2760,7 +2767,7 @@ canvas {
2760 float: right; 2767 float: right;
2761 margin-left: 5px; 2768 margin-left: 5px;
2762 height: 30px; 2769 height: 30px;
2763 - line-height: 26px; 2770 + line-height: 28px;
2764 } 2771 }
2765 .left .control .total-page span{ 2772 .left .control .total-page span{
2766 font-size: 12px; 2773 font-size: 12px;
@@ -2810,83 +2817,6 @@ canvas { @@ -2810,83 +2817,6 @@ canvas {
2810 background:url("../images/left-pre.png") no-repeat; 2817 background:url("../images/left-pre.png") no-repeat;
2811 } 2818 }
2812 2819
2813 - /*直播中*/  
2814 -  
2815 - .live {  
2816 - position: absolute;  
2817 - width: 26%;  
2818 - height: 34%;  
2819 - bottom: 20%;  
2820 - }  
2821 -  
2822 - .live i {  
2823 - width: 4%;  
2824 - height: 10%;  
2825 - position: absolute;  
2826 - bottom: 0;  
2827 - background-color: red;  
2828 - }  
2829 -  
2830 - .live i:nth-of-type(1) {  
2831 - left: 0;  
2832 - }  
2833 -  
2834 - .live i:nth-of-type(2) {  
2835 - left: 6px;  
2836 - }  
2837 -  
2838 - .live i:nth-of-type(3) {  
2839 - left: 12px;  
2840 - }  
2841 -  
2842 - .live i:nth-of-type(4) {  
2843 - left: 18px;  
2844 - }  
2845 -  
2846 - .live.active i:nth-of-type(1) {  
2847 - -webkit-animation: wave 0.9s linear infinite;  
2848 - animation: wave 0.9s linear infinite;  
2849 - }  
2850 -  
2851 - .live.active i:nth-of-type(2) {  
2852 - -webkit-animation: wave 0.7s linear infinite;  
2853 - animation: wave 0.7s linear infinite;  
2854 - }  
2855 -  
2856 - .live.active i:nth-of-type(3) {  
2857 - -webkit-animation: wave 0.8s linear infinite;  
2858 - animation: wave 0.8s linear infinite;  
2859 - }  
2860 -  
2861 - .live.active i:nth-of-type(4) {  
2862 - -webkit-animation: wave 0.6s linear infinite;  
2863 - animation: wave 0.6s linear infinite;  
2864 - }  
2865 -  
2866 - @-webkit-keyframes wave {  
2867 - 0% {  
2868 - height: 6px  
2869 - }  
2870 - 50% {  
2871 - height: 20px  
2872 - }  
2873 - 100% {  
2874 - height: 12px  
2875 - }  
2876 - }  
2877 -  
2878 - @keyframes wave {  
2879 - 0% {  
2880 - height: 8px  
2881 - }  
2882 - 50% {  
2883 - height: 20px  
2884 - }  
2885 - 100% {  
2886 - height: 12px  
2887 - }  
2888 - }  
2889 -  
2890 2820
2891 2821
2892 2822
@@ -2941,20 +2871,25 @@ canvas { @@ -2941,20 +2871,25 @@ canvas {
2941 border: 1px solid #fff; 2871 border: 1px solid #fff;
2942 } 2872 }
2943 2873
2944 - 2874 + .right{
  2875 + width: 26.5%;
  2876 + }
2945 .studentVideo{ 2877 .studentVideo{
2946 - width: 256px;  
2947 - height: 192px;  
2948 - margin-bottom: 5px; 2878 + /*width: 256px;*/
  2879 + /*height: 192px;*/
  2880 + /*margin-bottom: 5px;*/
  2881 + width: 240px;
  2882 + height: 196px;
2949 } 2883 }
2950 .studentVideo img{ 2884 .studentVideo img{
2951 width:100%; 2885 width:100%;
2952 height: 100%; 2886 height: 100%;
2953 } 2887 }
2954 .teacherVideo{ 2888 .teacherVideo{
2955 - width: 256px;  
2956 - height: 192px;  
2957 - 2889 + /*width: 256px;*/
  2890 + /*height: 192px;*/
  2891 + width: 240px;
  2892 + height:196px;
2958 } 2893 }
2959 .teacherVideo img{ 2894 .teacherVideo img{
2960 width: 100%; 2895 width: 100%;
@@ -2962,8 +2897,8 @@ canvas { @@ -2962,8 +2897,8 @@ canvas {
2962 } 2897 }
2963 .chat{ 2898 .chat{
2964 2899
2965 - width:256px;  
2966 - height: 146px; 2900 + width:240px;
  2901 + height: 142px;
2967 bottom: 5px; 2902 bottom: 5px;
2968 } 2903 }
2969 2904
@@ -2976,7 +2911,7 @@ canvas { @@ -2976,7 +2911,7 @@ canvas {
2976 2911
2977 } 2912 }
2978 .chat .msg{ 2913 .chat .msg{
2979 - width:250px; 2914 + width:233px;
2980 height: 105px; 2915 height: 105px;
2981 background: #f2f2f2; 2916 background: #f2f2f2;
2982 2917
@@ -3079,13 +3014,13 @@ canvas { @@ -3079,13 +3014,13 @@ canvas {
3079 3014
3080 3015
3081 .input-send{ 3016 .input-send{
3082 - width: 256px; 3017 + width: 238px;
3083 height: 38.4px; 3018 height: 38.4px;
3084 line-height: 38.4px; 3019 line-height: 38.4px;
3085 } 3020 }
3086 3021
3087 .input-face{ 3022 .input-face{
3088 - width: 205px; 3023 + width: 186px;
3089 height: 21.3px; 3024 height: 21.3px;
3090 line-height: 21.3px; 3025 line-height: 21.3px;
3091 float: left; 3026 float: left;
@@ -3102,7 +3037,7 @@ canvas { @@ -3102,7 +3037,7 @@ canvas {
3102 .chat .input-face input{ 3037 .chat .input-face input{
3103 height: 20px; 3038 height: 20px;
3104 line-height: 20px; 3039 line-height: 20px;
3105 - width: 178px; 3040 + width: 159px;
3106 margin-bottom: 4px; 3041 margin-bottom: 4px;
3107 } 3042 }
3108 3043
@@ -3735,6 +3670,7 @@ canvas { @@ -3735,6 +3670,7 @@ canvas {
3735 } 3670 }
3736 /*输入4个参数*/ 3671 /*输入4个参数*/
3737 .fourParamsOut{ 3672 .fourParamsOut{
  3673 +
3738 display: none; 3674 display: none;
3739 width: 1366px; 3675 width: 1366px;
3740 height: 768px; 3676 height: 768px;
@@ -3792,7 +3728,7 @@ canvas { @@ -3792,7 +3728,7 @@ canvas {
3792 3728
3793 .box{ 3729 .box{
3794 width: 853.3px; 3730 width: 853.3px;
3795 - height:575.3px; 3731 + height:587.3px
3796 } 3732 }
3797 .header{ 3733 .header{
3798 height: 40px; 3734 height: 40px;
@@ -3905,7 +3841,9 @@ canvas { @@ -3905,7 +3841,9 @@ canvas {
3905 3841
3906 3842
3907 3843
3908 - 3844 + .right{
  3845 + width: 28.1%;
  3846 + }
3909 3847
3910 3848
3911 3849
@@ -4401,7 +4339,7 @@ canvas { @@ -4401,7 +4339,7 @@ canvas {
4401 .canvas_container { 4339 .canvas_container {
4402 position: relative; 4340 position: relative;
4403 width: 585px; 4341 width: 585px;
4404 - height: 477px; 4342 + height: 489px;
4405 border: none; 4343 border: none;
4406 overflow-y: hidden; 4344 overflow-y: hidden;
4407 overflow-x: hidden; 4345 overflow-x: hidden;
@@ -163,11 +163,11 @@ @@ -163,11 +163,11 @@
163 </div> 163 </div>
164 164
165 <!--右侧未开始--> 165 <!--右侧未开始-->
166 - <div class="classStatus am-dropdown " data-am-dropdown>  
167 - <button type="button" class="am-btn am-btn-primary classNowBtn" data-am-dropdown-toggle><span 166 + <div id="classStatus" class="classStatus am-dropdown " data-am-dropdown>
  167 + <button id="classNowBtn" type="button" class="am-btn am-btn-primary am-dropdown-toggle classNowBtn" data-am-dropdown-toggle><span
168 id="span-iconfont" class="span-classes iconfont">&#xe62b;</span><span id="class-now" class="classNow">未开始</span> 168 id="span-iconfont" class="span-classes iconfont">&#xe62b;</span><span id="class-now" class="classNow">未开始</span>
169 </button> 169 </button>
170 - <ul class="am-dropdown-content"> 170 + <ul id="amDropdownContent" class="am-dropdown-content">
171 171
172 <li class="am-dropdown-content-li-begin"><span id="am-dropdown-content-span-1" class="am-dropdown-content-span iconfont">&#xe61d;</span> 172 <li class="am-dropdown-content-li-begin"><span id="am-dropdown-content-span-1" class="am-dropdown-content-span iconfont">&#xe61d;</span>
173 <button id="classes-status-begin" type="button" 173 <button id="classes-status-begin" type="button"
@@ -212,11 +212,13 @@ @@ -212,11 +212,13 @@
212 <div class="am-modal am-modal-no-btn" tabindex="-1" id="end-classes-1"> 212 <div class="am-modal am-modal-no-btn" tabindex="-1" id="end-classes-1">
213 <div class="am-modal-dialog"> 213 <div class="am-modal-dialog">
214 <a href="javascript: void(0)" class="am-close am-close-spin exitClose" data-am-modal-close>&times;</a> 214 <a href="javascript: void(0)" class="am-close am-close-spin exitClose" data-am-modal-close>&times;</a>
215 - <p class="p-text">确定要退出当前课堂吗?</p> 215 + <p class="p-text">确定要结束当前课堂吗?</p>
216 216
217 <div class="am-modal-confirm-cancel"> 217 <div class="am-modal-confirm-cancel">
218 - <button id="end" class="confirm" data-am-modal-close>结束课堂</button>  
219 - <button id="end-no-exit" class="cancel-1" data-am-modal-close>退出,不结束课堂</button> 218 + <!--<button id="end" class="confirm" data-am-modal-close>结束课堂</button>-->
  219 + <!--<button id="end-no-exit" class="cancel-1" data-am-modal-close>取消</button>-->
  220 + <button id="end" class="exitEnsure" data-am-modal-close>确定</button>
  221 + <button class="exitCancel" data-am-modal-close>取消</button>
220 </div> 222 </div>
221 223
222 </div> 224 </div>
此 diff 太大无法显示。
@@ -1003,7 +1003,17 @@ function classJoinSuccess(callbackData){ @@ -1003,7 +1003,17 @@ function classJoinSuccess(callbackData){
1003 //准备主页面 1003 //准备主页面
1004 layoutView(); 1004 layoutView();
1005 } 1005 }
1006 - 1006 +// function showClassStatus(obj) {
  1007 +//
  1008 +// if(obj.style.display=="block")
  1009 +// {
  1010 +// obj.style.display=='none';
  1011 +// }
  1012 +// else
  1013 +// {
  1014 +// obj.style.display=='block';
  1015 +// }
  1016 +// }
1007 1017
1008 1018
1009 //登录成功后,登录页隐藏,主页面显示 1019 //登录成功后,登录页隐藏,主页面显示
@@ -1016,13 +1026,6 @@ function layoutView( ) { @@ -1016,13 +1026,6 @@ function layoutView( ) {
1016 "display":"block" 1026 "display":"block"
1017 }); 1027 });
1018 1028
1019 - $("#class-now").click(function () {  
1020 - $(".am-dropdown-content").css({"z-index":"1","display":"block"});  
1021 - });  
1022 -  
1023 - $(".am-dropdown-content").mouseleave(function () {  
1024 - $(".am-dropdown-content").css({"z-index":"-1","display":"block"});  
1025 - })  
1026 1029
1027 //加入课堂成功后,点击开始上课 1030 //加入课堂成功后,点击开始上课
1028 $("#classes-status-begin").click(function () { 1031 $("#classes-status-begin").click(function () {
@@ -1034,7 +1037,7 @@ function layoutView( ) { @@ -1034,7 +1037,7 @@ function layoutView( ) {
1034 $(".span-classes").html("&#xe609;"); 1037 $(".span-classes").html("&#xe609;");
1035 $("#class-now").html("直播中"); 1038 $("#class-now").html("直播中");
1036 1039
1037 - $(".am-dropdown-content").css("z-index","-1"); 1040 +
1038 client.sendStartClass(); 1041 client.sendStartClass();
1039 }); 1042 });
1040 //暂停课堂 1043 //暂停课堂
@@ -1044,7 +1047,7 @@ function layoutView( ) { @@ -1044,7 +1047,7 @@ function layoutView( ) {
1044 $(".am-dropdown-content-li-pause").css("display","none"); 1047 $(".am-dropdown-content-li-pause").css("display","none");
1045 $(".am-dropdown-content-li-rest").css("display","block"); 1048 $(".am-dropdown-content-li-rest").css("display","block");
1046 1049
1047 - $(".am-dropdown-content").css("z-index","-1"); 1050 +
1048 client.sendPauseClass(); 1051 client.sendPauseClass();
1049 1052
1050 }); 1053 });
@@ -1053,11 +1056,7 @@ function layoutView( ) { @@ -1053,11 +1056,7 @@ function layoutView( ) {
1053 $(".box").css("display", "none"); 1056 $(".box").css("display", "none");
1054 client.sendCloseClass(); 1057 client.sendCloseClass();
1055 }); 1058 });
1056 - //退出,但不结束课堂,是当前这个人退出  
1057 - $("#end-no-exit").click(function () {  
1058 - client.leaveClass();  
1059 - $(".box").css("display", "none");  
1060 - }); 1059 +
1061 //退出,但不结束课堂,是当前这个人退出 1060 //退出,但不结束课堂,是当前这个人退出
1062 $("#exitClass").click(function () { 1061 $("#exitClass").click(function () {
1063 client.leaveClass(); 1062 client.leaveClass();
@@ -1070,43 +1069,11 @@ function layoutView( ) { @@ -1070,43 +1069,11 @@ function layoutView( ) {
1070 $(".am-dropdown-content-li-pause").css("display","block"); 1069 $(".am-dropdown-content-li-pause").css("display","block");
1071 $(".span-classes").html("&#xe609;"); 1070 $(".span-classes").html("&#xe609;");
1072 $("#class-now").html("直播中"); 1071 $("#class-now").html("直播中");
1073 - $(".am-dropdown-content").css("z-index","-1"); 1072 + // $(".am-dropdown-content").css("z-index","-1");
1074 1073
1075 }); 1074 });
1076 1075
1077 1076
1078 -  
1079 -  
1080 -  
1081 -  
1082 -  
1083 -  
1084 -  
1085 -  
1086 -  
1087 -  
1088 -  
1089 -  
1090 - // if(_type==1){  
1091 - // //主页面显示  
1092 - // $(".box").css({  
1093 - // "display":"block"  
1094 - // });  
1095 - // $(".zbbox").css({  
1096 - // "display":"none"  
1097 - // });  
1098 - //  
1099 - //  
1100 - // }else{  
1101 - // $(".box").css({  
1102 - // "display":"none"  
1103 - // });  
1104 - // $(".zbbox").css({  
1105 - // "display":"block"  
1106 - // });  
1107 - //  
1108 - // }  
1109 -  
1110 $(".showBoardBtn").click(function () { 1077 $(".showBoardBtn").click(function () {
1111 $(".docImage").css("z-index","none"); 1078 $(".docImage").css("z-index","none");
1112 $(".showImg").css("display","none"); 1079 $(".showImg").css("display","none");
1 -  
2 -var client; //客户端  
3 -var pubResultObj; // 存储底层给我的推流结果  
4 -  
5 -var playResultObj;//存储底层给我的播流结果  
6 -  
7 -  
8 -var playVideoId; //播放的流的videoId  
9 -var pushVideoId; //推流的videoId  
10 -var playCallbackDate; //视频更新的callBack  
11 -var nativeVideo={};  
12 -window.nativeVideo=nativeVideo;  
13 -  
14 -nativeVideo.nativeInit=function (_client){  
15 - client=_client;  
16 -};  
17 -  
18 -  
19 -  
20 -var u = navigator.userAgent;  
21 -var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端  
22 -var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端  
23 -  
24 -  
25 -function mobileCallback(_param) {  
26 -  
27 - console.log(_param);  
28 -  
29 - if(isiOS){  
30 - console.log(isiOS);  
31 - _js2native(_param);  
32 -  
33 - }else if (isAndroid){  
34 - console.log(isAndroid);  
35 - window.xdyAndroid._js2native(_param);  
36 -  
37 - }  
38 -}  
39 -  
40 -  
41 -  
42 -  
43 -  
44 -  
45 -function teaTimeStamp() {  
46 - var _teatimestamp= Date.parse(new Date());  
47 - return _teatimestamp;  
48 -}  
49 -  
50 -  
51 -  
52 -$(function () {  
53 -  
54 - //学生视频按钮点击  
55 - $(".stuVideo-video").click(function (e) {  
56 - console.log("stuVideo-video点击");  
57 - console.log( $(".studentVideo").offset().left);  
58 -  
59 - $("#stuVideo-video").html(" ");  
60 - $("#stuVideo-video").removeClass("stuVideo-video");  
61 - $("#stuVideo-video").addClass("stuVideo-videoBg");  
62 -  
63 - $("#stuVideo-voice").html("&#xe62d;");  
64 - $("#stuVideo-voice").addClass("stuVideo-voice");  
65 - $("#stuVideo-voice").removeClass("stuVideo-voiceBg");  
66 -  
67 - $(".studentVideo").css("background", "#CCCCCC");  
68 -  
69 - var pcVideoTop=$(".studentVideo").offset().top;  
70 - var pcVideoLeft=$(".studentVideo").offset().left;  
71 - var pcVideoW=$(".studentVideo").width();  
72 - var pcVideoH=pcVideoW*3/4;  
73 -  
74 - //获取位置  
75 - var scrollW=document.body.scrollWidth||document.documentElement.scrollWidth;  
76 - var videoStuXFloat=pcVideoLeft/scrollW*100;  
77 - var videoStuX=Math.round(videoStuXFloat*100)/100;  
78 -  
79 - var scrollH=document.body.scrollHeight||document.documentElement.scrollHeight;  
80 - var videoStuYFloat=pcVideoTop/scrollH*100;  
81 - var videoStuY=Math.round(videoStuYFloat*100)/100;  
82 -  
83 -  
84 - //宽高  
85 - var videoStuWFloat=pcVideoW/scrollW*100;  
86 - var videoStuW=Math.round(videoStuWFloat*100)/100;  
87 -  
88 - var videoStuHFloat=pcVideoH/scrollH*100;  
89 - var videoStuH=Math.round(videoStuHFloat*100)/100;  
90 -  
91 - console.log(videoStuX,videoStuY,videoStuW,videoStuH);  
92 -  
93 -  
94 - //创建显示nativeVideo学生窗口,进行推流  
95 - var creatTeaNativeVideoObj={  
96 - "type":0,  
97 - "videoId":teaTimeStamp(),  
98 - "data":{  
99 - "wintype":'rtmp',  
100 - "x": videoStuX,  
101 - "y": videoStuY,  
102 - "width": videoStuW,  
103 - "height": videoStuH  
104 - }  
105 - };  
106 -  
107 - console.log(creatTeaNativeVideoObj);  
108 - var creatTeaNativeVideoJson=JSON.stringify(creatTeaNativeVideoObj);  
109 - console.log(creatTeaNativeVideoJson);  
110 - mobileCallback(creatTeaNativeVideoJson);  
111 -  
112 - //获取学生推流地址  
113 - achieveStuPushStream();  
114 -  
115 - });  
116 -  
117 -  
118 - //学生挂断  
119 - $(".stuVideo-videoBg").click(function (e) {  
120 -  
121 - })  
122 -  
123 - //学生音频按钮点击  
124 - $("#stuVideo-voice").click(function (e) {  
125 - console.log("stuVideo-voice点击");  
126 - $("#stuVideo-video").html("&#xe62e;");  
127 - $("#stuVideo-video").removeClass("stuVideo-videoBg");  
128 - $("#stuVideo-video").addClass("stuVideo-video");  
129 -  
130 - $("#stuVideo-voice").html("");  
131 - $("#stuVideo-voice").removeClass("stuVideo-voice");  
132 - $("#stuVideo-voice").addClass("stuVideo-voiceBg");  
133 -  
134 - });  
135 -  
136 - //根据传进来的消息,创建老师NativeVideo窗口,进行播流  
137 - client.on(MessageTypes.VIDEO_UPDATE,videoUpdate);  
138 -  
139 -  
140 -  
141 -  
142 -  
143 -});  
144 -  
145 -function videoUpdate(callbackDate){  
146 -  
147 - playCallbackDate=callbackDate;  
148 -  
149 - if ((callbackDate.status==1)&&(callbackDate.channelId!=='')){  
150 -  
151 - var scrollW=document.body.scrollWidth||document.documentElement.scrollWidth;  
152 - var scrollH=document.body.scrollHeight||document.documentElement.scrollHeight;  
153 - var videoTeaXFloat=(scrollW-246)/scrollW*100;  
154 - var videoTeaX=Math.round(videoTeaXFloat*100)/100;  
155 -  
156 - var videoTeaYFloat=241/scrollH*100;  
157 - var videoTeaY=Math.round(videoTeaYFloat*100)/100;  
158 -  
159 - var creatStuNativeVideoObj={  
160 - "type":0,  
161 - "videoId":teaTimeStamp(),  
162 - "data":{  
163 - "x": videoTeaX,  
164 - "y": videoTeaY,  
165 - "width": 30,  
166 - "height": 30  
167 - }  
168 - };  
169 -  
170 - var creatStuNativeVideoJson=JSON.stringify(creatStuNativeVideoObj);  
171 - mobileCallback(creatStuNativeVideoJson);  
172 -  
173 -  
174 - //获取播流地址  
175 - achievePlayStream();  
176 -  
177 - }  
178 -  
179 -}  
180 -  
181 -  
182 -//从底层获取播流地址,然后传给nativa进行播放  
183 -function achievePlayStream(){  
184 -  
185 - var paramInfo={  
186 - "type": "rtmp"  
187 - };  
188 - var playResult=client.getVideoPlayPath(paramInfo);  
189 -  
190 - console.log("执行getVideoPlayPath,返回的结果",playResult);  
191 -  
192 - playResultObj=playResult;  
193 - if (playResult.code==0){  
194 -  
195 - var _playMsg={  
196 - "type": 2,  
197 - "videoId": teaTimeStamp(),  
198 - "data":{  
199 - "video": true, // true/false  
200 - "audio": true, // true/false  
201 - "url":playResult.publishUrl  
202 - }  
203 - };  
204 -  
205 - //播流的videoId  
206 - playVideoId=_playMsg.videoId;  
207 -  
208 - //传给native  
209 - mobileCallback(_playMsg);  
210 - }  
211 -  
212 -  
213 -}  
214 -  
215 -//从底层获取推流地址  
216 -function achievePushStream(){  
217 -  
218 - var paramInfo={  
219 - "type": "live"  
220 - };  
221 - var pubResult=client.getVideoPublishPath(paramInfo);  
222 -  
223 - console.log("执行getVideoPublishPath,返回的结果",pubResult)  
224 -  
225 - pubResultObj=pubResult;  
226 -  
227 -  
228 - //code为0,代表成功  
229 - if (pubResult.code==0){  
230 -  
231 - var _publishMsg={  
232 - "type": 10,  
233 - "videoId": teaTimeStamp(),  
234 - "data":{  
235 - "video": true, // true/false  
236 - "audio": true, // true/false  
237 - "url":pubResult.publishUrl  
238 - }  
239 - };  
240 -  
241 -  
242 - //推流时的VideoId  
243 - var pushVideoId=_publishMsg.videoId;  
244 -  
245 -  
246 - //传给native  
247 - mobileCallback(_publishMsg);  
248 -  
249 - }  
250 -  
251 -};  
252 -  
253 -  
254 -  
255 -//native传给我  
256 -nativeVideo._native2js=function (_fromNative){  
257 -  
258 - var fromNative=JSON.parse(_fromNative);  
259 - var type=fromNative.type;  
260 -  
261 - switch (type){  
262 - case 0: SucessError(_fromNative);break;  
263 - default:break;  
264 - }  
265 -};  
266 -  
267 -function SucessError(_fromNative) {  
268 -  
269 - var successErrorData=_fromNative.data;  
270 - //0成功 1失败  
271 - if (successErrorData.result==0){  
272 -  
273 - //将之前底层取的推流结果传递给底层  
274 - var _successErrorResult= client.publishVideo(pubResultObj);  
275 -  
276 - if(_successErrorResult.code==0){  
277 - console.log("底层广播推流成功");  
278 - } else if(_successErrorResult.code==1){  
279 - console.log("底层广播推流失败,关闭推流");  
280 -  
281 - //应用层关闭流  
282 - var _closeStream={  
283 - "type": 5,  
284 - "videoId":pushVideoId  
285 - }  
286 -  
287 - var paramInfo={  
288 - "nodeId": 0,//用户的nodeId,默认0,就是自己的  
289 - };  
290 - client.stopPublishVideo(paramInfo);  
291 - }  
292 -  
293 -  
294 -  
295 -  
296 - }  
297 - else if (successErrorData.result==1){  
298 - console.log("native失败了,错误信息是",successErrorData.errmsg);  
299 -  
300 - var paramInfo={  
301 - "nodeId": 0,//用户的nodeId,默认0,就是自己的  
302 - };  
303 - client.stopPublishVideo(paramInfo);  
304 -  
305 - //应用层出弹框提示  
306 - $(".pop").trigger('click');  
307 -  
308 -  
309 - }  
310 -}  
311 -  
312 -  
313 -  
314 -  
@@ -146,7 +146,7 @@ $(function () { @@ -146,7 +146,7 @@ $(function () {
146 $(".teacherVoicing").css("display","none"); 146 $(".teacherVoicing").css("display","none");
147 147
148 $(".publish").css({"width":"240px","height":"180px"}); 148 $(".publish").css({"width":"240px","height":"180px"});
149 - // $(".play").css({"width":"1px","height":"1px"}); 149 + $(".play").css({"width":"1px","height":"1px"});
150 150
151 } 151 }
152 152
@@ -993,6 +993,7 @@ function publishURL(rtmpURL) { @@ -993,6 +993,7 @@ function publishURL(rtmpURL) {
993 993
994 //获取老师播音视频流地址 994 //获取老师播音视频流地址
995 function achievePlayStream(_pubResultObj){ 995 function achievePlayStream(_pubResultObj){
  996 +
996 console.log("_pubResultObj==========>",_pubResultObj) 997 console.log("_pubResultObj==========>",_pubResultObj)
997 var _paramInfo={ 998 var _paramInfo={
998 "type": "rtmp", 999 "type": "rtmp",