Commit d3a34dc11677723e2874608e921189588a2ffc8e

Authored by ykxie
1 parent c6b9deaf

test

dist/gxb-ide/Dir.js
... ... @@ -15,6 +15,10 @@
15 15  
16 16 var isReplayPage = false;
17 17  
  18 + var u = navigator.userAgent;
  19 + var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
  20 + var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  21 +
18 22 /*
19 23 * 初始化目录配置
20 24 */
... ... @@ -141,9 +145,10 @@
141 145 console.log('////---------------------------')
142 146 console.log(treeLinkEditor);
143 147 for (var i = 0; i < treeLinkEditor.length; i++) {
  148 + $('.fileName').html(treeLinkEditor[i].filePath)
144 149 if(treeLinkEditor[i].name == _this.manageName(obj.treeNode.name)){
145 150 console.log(_this.manageName(obj.treeNode.name));
146   - $('.fileName').html(treeLinkEditor[i].filePath)
  151 +
147 152 _num = i;
148 153 }
149 154 }
... ... @@ -614,16 +619,21 @@
614 619  
615 620 initTrigger(coderecords)
616 621  
  622 + if(isAndroid){
  623 + playTimes++
  624 + }
  625 +
617 626 AudioPlayer(audioUrl)
618 627  
619 628 var role = getQuery('role');
620 629 if (role == 0) {
621   - if (playTimes === 0) {
622   - // 请求玩立刻执行
623   - // alert('play -----------123 ' + playTimes)
624   - $.AudioPlayer.play()
  630 + if(!isAndroid){
  631 + // $.AudioPlayer.play()
  632 + }else{
  633 + playTimes++
625 634 }
626 635 }else{
  636 + // alert('canplay !isAndroid ----------- ' + playTimes)
627 637 CodingEditer.playCoding();
628 638 }
629 639  
... ... @@ -657,20 +667,24 @@
657 667 debuggers: false,
658 668 allowSeek: false,
659 669 canplayCallback: function(res){
660   - if (res.status == true && playTimes === 0) {
661   - CodingEditer.playCoding();
  670 + if (res.status == true && playTimes === 0 && !isAndroid) {
  671 + alert('canplay !isAndroid ----------- ' + playTimes)
  672 + // CodingEditer.playCoding();
662 673 playTimes++
663   - // alert('canplayCallback可以播放 ----------- ' + playTimes)
  674 + // alert('canplay !isAndroid ----------- ' + playTimes)
664 675 }
  676 + // alert('canplayCallback可以播放 ----------- ' + playTimes)
665 677 },
666 678 onwaitingCallback: function(){
667   - console.log('onwaitingCallback ----------- ' + playTimes)
  679 + // alert('onwaitingCallback ----------- ' + playTimes)
668 680 },
669 681 playCallback: function() { // 播放
  682 +
670 683 if (playTimes != 0) {
671 684 CodingEditer.playCoding();
  685 + // alert('playCoding可以播放 ----------- ' + playTimes)
672 686 }
673   - // CodingEditer.playCoding();
  687 + // alert('playCoding可以播放 ----------- ' + playTimes)
674 688 },
675 689 pauseCallback: function() { // 暂停
676 690 CodingEditer.audioTime = parseInt(player.elements.audioDom.currentTime*1000);
... ...
dist/gxb-ide/Iterm.js
1 1 ;(function(window){
  2 + var _Iterm = window.Iterm;
2 3  
3   - function Iterm(){
  4 + Iterm = function(){
4 5 this.initIterm.apply(this, arguments);
5 6 }
6 7  
7 8 var isCompile = false;
  9 + var _languageid = getQuery('languageid');
  10 + var _userId = getQuery('userId');
8 11  
9 12 Iterm.prototype = {
10 13 constructor: Iterm,
11 14 compileStatus: true,
12 15 options: {
13   - userId: 826920,
14   - languageId: null,
  16 + userId: _userId,
  17 + languageId: _languageid,
15 18 compileCallback: null // 编译回调
16 19 },
17 20 initIterm: function(options){
... ... @@ -36,7 +39,7 @@
36 39 // var languageId = _this.options.languageId;
37 40 var languageId = _this.options.languageId || Dir.languageid;
38 41 var role = getQuery('role');
39   -
  42 + alert("HHHHHHH")
40 43  
41 44  
42 45 // 判断是否录制走不同的逻辑
... ...
dist/js/player.js
... ... @@ -3,13 +3,8 @@ $(function(){
3 3 var _userId = getQuery('userId');
4 4 var _role = getQuery('role');
5 5 var _codeReplayId = getQuery('codeReplayId');
6   - var player = $.AudioPlayer;
7 6 var status = true;
8 7  
9   - var languageName = Dir.getLangName(_languageid);
10   - $("title").html(languageName);
11   -
12   -
13 8 // new一个基本IDE结构
14 9 var ide = new GxbIde({
15 10 el: '#folder',
... ... @@ -19,13 +14,20 @@ $(function(){
19 14 });
20 15  
21 16 // 编译控制台
22   - var iterm = new Iterm({
23   - userId: _userId
24   - });
  17 + // var iterm = new Iterm({
  18 + // userId: _userId,
  19 + // languageId: _languageid
  20 + // });
  21 +
  22 + // alert('==============')
25 23  
26 24 var title = decodeURIComponent(getQuery('title'));
27 25  
28 26 $('.m-title').html(title);
  27 + // alert('=============='+title)
  28 +
  29 +
  30 + // $('#resultoutput').append(title)
29 31  
30 32 console.log(_role)
31 33  
... ... @@ -33,13 +35,16 @@ $(function(){
33 35 Dir.isReplayPage = true;
34 36  
35 37 $('.play-code').on('click', function(){
36   - console.log('=================')
37   - CodingEditer.playCoding();
  38 + alert('=================')
  39 + // CodingEditer.playCoding();
38 40 CodingEditer.editable(0)
39 41 })
40 42  
  43 + $('#play').unbind('click').click(function(){
  44 +
  45 + })
41 46  
42   - $('.m-menu').on('click', function(e){
  47 + $('.m-menu').unbind('click').click(function(e){
43 48 // e.preventDefault();
44 49 console.log('////==========')
45 50 if (status) {
... ... @@ -50,8 +55,9 @@ $(function(){
50 55 status = true;
51 56 }
52 57 })
53   - $('.m-dir-wrap').on('click', function(e){
54   - console.log('////')
  58 +
  59 + $('.m-dir-wrap').unbind('click').click(function(e){
  60 + // e.preventDefault();
55 61 if (!status) {
56 62 $('.m-dir-wrap').hide();
57 63 status = true;
... ...
dist/v1.1/index1.html deleted 100644 → 0
1   -<!DOCTYPE html>
2   -<html lang="en">
3   -<head>
4   - <meta charset="UTF-8">
5   - <meta name="renderer" content="webkit">
6   - <title>录制课程 - 互动编程</title>
7   - <link rel="stylesheet" href="../css/reset.css">
8   - <link rel="stylesheet" href="../css/responsive/css/bootstrap.min.css">
9   - <link href="../css/validationEngine.jquery.css" rel="stylesheet">
10   - <link href="../css/codemirror.css" rel="stylesheet">
11   - <link href="../css/cm-theme/gbtags.css" rel="stylesheet">
12   - <link href="../css/cm-theme/eclipse.css" rel="stylesheet">
13   - <link href="../css/cm-theme/gbtags-dark.css" rel="stylesheet">
14   - <link href="../css/font/iconfont.css" rel="stylesheet">
15   - <link href="../css/font_all/iconfont.css" rel="stylesheet">
16   - <link href="../css/layout.css" rel="stylesheet">
17   - <link href="../css/main.css" rel="stylesheet">
18   - <link href="../css/recording.css" rel="stylesheet">
19   - <!-- <link href="http://lab.hakim.se/ladda/dist/ladda.min.css" rel="stylesheet"> -->
20   - <link rel="stylesheet" href="../js/zTree_v3-3.5.27/css/zTreeStyle/zTreeStyle.css">
21   -
22   - <script>
23   - var gxb_api = "https://restful.gaoxiaobang.com";
24   - // var gxb_api = "http://192.168.80.223:8080"
25   -
26   - </script>
27   -
28   - <script src="../js/jquery-1.7.1.js"></script>
29   - <script src="../js/bootstrap.js"></script>
30   -
31   - <script src="../js/humps-2.0.0/humps.js"></script>
32   -
33   - <script src="../js/util/util.js"></script>
34   - <script src="../js/util/Hourglass.js"></script>
35   -
36   -
37   - <script src="../js/spin.js"></script>
38   - <script src="../js/ladda.js"></script>
39   -
40   - <script src="../js/jquery-ui-1.8.20.custom.js"></script>
41   - <script src="../js/codemirror.js"></script>
42   - <!-- <script src="../js/handlebars-1.3.js"></script> -->
43   - <script src="../js/emmet.js"></script>
44   - <script src="../js/jshint-2.6.min.js"></script>
45   - <script src="../js/jstorage.js"></script>
46   -
47   - <script src="../js/05-util.js"></script>
48   - <script src="../js/03-http.js"></script>
49   -
50   - <script src="../js/jquery.validationEngine.js"></script>
51   - <script src="../js/jquery.validationEngine-zh.js"></script>
52   - <script src="../js/jquery.isotope.js"></script>
53   -
54   - <link rel="stylesheet" href="../css/demo.css">
55   - <script type="text/javascript" src="../js/zTree_v3-3.5.27/js/jquery.ztree.core.js"></script>
56   - <script type="text/javascript" src="../js/zTree_v3-3.5.27/js/jquery.ztree.exedit.js"></script>
57   - <script src="../js/gb.js"></script>
58   - <!-- <script src="../js/gbreplayer.js"></script> -->
59   -
60   - <script src="../js/gbdebug/mode/xml/xml.js"></script>
61   - <script src="../js/gbdebug/mode/javascript/javascript.js"></script>
62   - <script src="../js/gbdebug/mode/css/css.js"></script>
63   - <script src="../js/gbdebug/mode/htmlmixed/htmlmixed.js"></script>
64   - <script src="../js/gbdebug/mode/clike/clike.js"></script>
65   - <script src="../js/gbdebug/mode/php/php.js"></script>
66   - <script src="../js/gbdebug/mode/python/python.js"></script>
67   - <style type="text/css">
68   - #recordzone,
69   - #replayzone{
70   - display: none;
71   - }
72   - #recordzone.active,
73   - #replayzone.active{
74   - display: block;
75   - }
76   - .editor{
77   - height: 100%;
78   - float: left;
79   - position: relative;
80   - }
81   - </style>
82   -</head>
83   -<body>
84   - <div id="app" class="wrapper">
85   - <div id="appContainer">
86   - <div class="editor">
87   - <div id="appLeft">
88   - <div class="tree-header">目录</div>
89   - <ul id="folder" class="ztree"></ul>
90   - <div id="handleLM"></div>
91   - </div>
92   - <div id="appMian">
93   - <div id="appMainHeader">
94   - <ul id="recordertab" class="nav nav-tabs pull-left">
95   - <li class="active"><a href="#recordzone" data-toggle="tab"><i class="icon iconfont icon-suspend"></i>课程录制区</a></li>
96   - <li><a href="#replayzone" data-toggle="tab"><i class="icon iconfont icon-yulan"></i>课程预览区</a></li>
97   - </ul>
98   - <div id="editorwrapper" class="pull-right">
99   - <div class="btn-group">
100   - <div id="htmlbutton" class="btn btn-default btn-sm" data-toggle="tooltip" data-placement="bottom" data-original-title="当前课程环境:Java" data-editorname="html">JAVA</div>
101   - <div class="btn btn-default btn-sm" data-toggle="tooltip" data-placement="bottom" data-original-title="JDK版本">JDK 7</div>
102   - </div>
103   - </div>
104   - </div>
105   - <div id="textarea">
106   - <div id="recordzone" class="active"></div>
107   - <div id="replayzone"></div>
108   - </div>
109   - <div id="handleMR"></div>
110   - </div>
111   - <div class="pause-shodow hidden">
112   - <div class="compile-loading">
113   - <img src="../img/loading.png" alt="">
114   - </div>
115   - <div class="compile-reslut" style="display: none;">
116   - <div class="tip-header">
117   - <span>成功获取编译运行结果</span>
118   - </div>
119   - <div class="tip-content">
120   - <p>保存编译结果后,播放到此处会在运行区域直接显示结果。需要保存结果后继续录制吗?</p>
121   - </div>
122   - <div class="tip-footer">
123   - <button class="btn btn-success btn-sm" id="save_compile">保存并继续录制</button>
124   - <button class="btn btn-danger btn-sm" id="cancel_compile">不保存继续录制</button>
125   - </div>
126   - </div>
127   - </div>
128   - </div>
129   -
130   - <div id="appRight">
131   - <div id="resultpanel" class="panel panel-default editor-result">
132   - <div class="panel-heading result-header">
133   - <div class="pull-left">
134   - <div id="compileBtnGroup" class="btn-group"></div>
135   - </div>
136   - <div class="pull-right">
137   - <a id="full-screen" href="javascript:;" data-toggle="tooltip" data-placement="left" data-original-title="全屏录制" class="btn btn-link"><i class="icon iconfont icon-fangda"></i></a>
138   - <a id="back-screen" href="javascript:;" data-toggle="tooltip" data-placement="left" data-original-title="退出全屏录制" class="btn btn-link" style="display: none;"><i class="icon iconfont icon-fangda"></i></a>
139   - </div>
140   - <div class="btn-group">
141   - <button type="button" class="btn btn-success" id="play" data-status="0" title="" style="display: none;"><</button>
142   - <!-- <p id="replay">预览录制</p> -->
143   - </div>
144   - <!-- <div class="btn-group pull-right" id="fontendrun">
145   - <button id="autorun" type="button" class="btn" title="切换自动/手动运行代码" data-placement="bottom" data-autorun="1"></button>
146   - <button id="runnow" type="button" class="btn" title="手动运行代码" data-placement="bottom" disabled="disabled">
147   - 自动运行
148   - </button>
149   - </div> -->
150   - </div>
151   - <div class="panel-body hidden" id="cmprun-output">
152   - <div id="resultoutput">
153   - <!-- Nav tabs -->
154   - <ul class="nav nav-tabs result-tabs" role="tablist" id="cmprun-tabs">
155   - <li class="active"><a href="#stdin" role="tab" data-toggle="tab" class="text-warning">标准</a></li>
156   - <li><a href="#cmpinfo" role="tab" data-toggle="tab" class="text-warning">编译</a></li>
157   - <li><a href="#stderr" role="tab" data-toggle="tab" class="text-danger">错误</a></li>
158   - <li><a href="#output" role="tab" data-toggle="tab" class="text-success">结果</a></li>
159   - </ul>
160   - <!-- Tab panes -->
161   - <div class="tab-content">
162   - <div class="tab-pane active padall15" id="stdin">
163   - <input type="text" class="form-control" id="runtimeArgus" placeholder="标准输入">
164   - </div>
165   - <div class="tab-pane padall15" id="cmpinfo"></div>
166   - <div class="tab-pane padall15" id="stderr"></div>
167   - <div class="tab-pane padall15" id="output"></div>
168   - </div>
169   - </div>
170   - </div>
171   - <div class="panel-body" id="ifrcontainer">
172   - <iframe id="resultiframe" frameBorder="0" width="100%"></iframe>
173   - </div>
174   - </div>
175   - </div>
176   - </div>
177   - <div id="appFooter">
178   - <!-- 录音控制条 -->
179   - <input type="hidden" class="audio-url" value="">
180   - <div class="recording-ctrl-bar">
181   - <button id="start-recording" class="btn new-recording" type="button" data="1" title="开始录制"></button>
182   - <button id="re-recoding" class="btn new-recording" type="button" data="1" title="重新录制" style="display: none;"></button>
183   - <button class="btn pause-recording hidden" id="pause" data-status='0' title="录制暂停中">
184   - <img src="../img/pause.svg" alt="">
185   - </button>
186   -
187   - <button class="audio-play hidden" title="播放预览" data="1">
188   - <i class="icon iconfont icon-play"></i>
189   - </button>
190   - <div class="recording-time" id="timer" value="">00:00:00</div>
191   - <div class="audio-view" style="display: none;">
192   - <audio id="audio"></audio>
193   - </div>
194   - <div class="save-wrap">
195   - <input type="button" id="upload" class="upload-teach" disabled="disabled" value="保存">
196   - <input type="button" id="savecorde" class="upload-stud" style="display: none;" disabled="disabled" value="保存">
197   - <input type="button" id="cancel" value="关闭">
198   - </div>
199   - </div>
200   - </div>
201   - </div>
202   - <!-- -->
203   - <div class="upload-tip" style="display: none;">
204   - <img src="../img/upload_tip.png" alt="">
205   - </div>
206   -
207   - <div class="confirm-tip">
208   - <div class="compile-reslut" style="display: ;">
209   - <div class="tip-header">
210   - <span>提示</span>
211   - </div>
212   - <div class="tip-content">
213   - <p>在开始录制之前可对文件名进行修改,开始录制后文件名将不可修改。</p>
214   - </div>
215   - <div class="tip-footer">
216   - <button class="btn btn-success btn-sm" id="confirm">确定</button>
217   - </div>
218   - </div>
219   - </div>
220   -
221   - <!-- 准备开始 -->
222   - <div id="countdown" style="display: none;">
223   - <img src="" alt="">
224   - </div>
225   -
226   - <!-- 重新开始 -->
227   - <div class="re-tips" style="display: none;">
228   - <div class="re-reslut">
229   - <div class="tip-header">
230   - <span>提示</span>
231   - </div>
232   - <div class="tip-content">
233   - <p>你确定要重新录制吗?</p>
234   - </div>
235   - <div class="tip-footer">
236   - <button class="btn btn-success btn-sm" id="re-sure">确定</button>
237   - <button class="btn btn-danger btn-sm" id="re-cancel">取消</button>
238   - </div>
239   - </div>
240   - </div>
241   -
242   -
243   - <script src="../js/recorder/Myna.js"></script>
244   - <script src="../js/recording/recording.js"></script>
245   -
246   - <script>
247   - $(function () {
248   - $('[data-toggle="tooltip"]').tooltip()
249   - })
250   - var recorder;
251   - var _role = getQuery('role');
252   - var _chapterId = getQuery('chapterId');
253   - var userId = getQuery('userId');
254   -
255   - var audio = document.querySelector('audio');
256   - var saveAudio = document.getElementById("save");
257   -
258   -
259   - // 结束播放事件
260   - audio.addEventListener("ended", function() {
261   - console.info('audio.addEventListener("ended"');
262   - console.log('audio 播放结束');
263   - Hourglass.stopTimer();
264   - $('.audio-play').attr('data', '1')
265   - $('.audio-play').prop('disabled', false);
266   - }, false);
267   -
268   - $('#upload').click(function(){
269   - uploadAudio()
270   - })
271   -
272   - function uploadAudio() {
273   - $('.upload-tip').show();
274   - recorder.upload();
275   - }
276   - </script>
277   -</body>
278   -</html>
279   -
280   -
281   -
dist/v1.1/player.html
... ... @@ -59,7 +59,7 @@
59 59 </ul>
60 60 </div>
61 61 <div class="m-title-wrap">
62   - <div class="m-title">章节名称</div>
  62 + <div class="m-title"></div>
63 63 <div class="m-menu"><span class="fileName"></span> <img src="../img/down.png" alt=""></div>
64 64 </div>
65 65 <!-- 录制区 -->
... ... @@ -149,13 +149,6 @@
149 149 <input type="hidden" class="audio-url" value="">
150 150 <div id="playFooter">
151 151 <div class="" id="audioWrap">
152   - <button class="play-code" style="display: none;">
153   - <img src="../img/play.svg" alt="">
154   - <!-- <i class="icon iconfont icon-play"></i> -->
155   - </button>
156   - <button class="pause-play-code" style="display: none;">
157   - <img src="../img/pause.svg" alt="">
158   - </button>
159 152 </div>
160 153 </div>
161 154 </div>
... ... @@ -212,7 +205,7 @@
212 205 <script src="../gxb-ide/Ide.js"></script>
213 206 <script src="../gxb-ide/ToolBox.js"></script>
214 207  
215   - <script src="../js/player.js"></script>
  208 + <script src="../js/player.js?v=0.0.3"></script>
216 209  
217 210 <script src="../js/gbdebug/mode/xml/xml.js"></script>
218 211 <script src="../js/gbdebug/mode/javascript/javascript.js"></script>
... ...
dist/v1.1/player2.html deleted 100644 → 0
1   -<!DOCTYPE html>
2   -<html lang="en">
3   -<head>
4   - <meta charset="UTF-8">
5   - <meta name="renderer" content="webkit">
6   - <title>播放课程 - 互动编程</title>
7   - <link rel="stylesheet" href="../css/reset.css">
8   - <link rel="stylesheet" href="../css/responsive/css/bootstrap.min.css">
9   - <link href="../css/validationEngine.jquery.css" rel="stylesheet">
10   - <link href="../css/codemirror.css" rel="stylesheet">
11   - <link href="../css/cm-theme/gbtags.css" rel="stylesheet">
12   - <link href="../css/cm-theme/eclipse.css" rel="stylesheet">
13   - <link href="../css/cm-theme/gbtags-dark.css" rel="stylesheet">
14   - <link href="../css/font/iconfont.css" rel="stylesheet">
15   - <link href="../css/font_all/iconfont.css" rel="stylesheet">
16   - <link href="../css/layout.css" rel="stylesheet">
17   - <link href="../css/main.css" rel="stylesheet">
18   - <link href="../css/recording.css" rel="stylesheet">
19   - <link rel="stylesheet" href="../js/audioPlayer/theme.default.css">
20   - <!-- <link href="http://lab.hakim.se/ladda/dist/ladda.min.css" rel="stylesheet"> -->
21   - <link rel="stylesheet" href="../js/zTree_v3-3.5.27/css/zTreeStyle/zTreeStyle.css">
22   -
23   - <script>
24   - var gxb_api = "https://restful1.gaoxiaobang.com";
25   - // var gxb_api = "http://192.168.80.223:8080"
26   -
27   - </script>
28   -
29   - <script src="../js/jquery-1.7.1.js"></script>
30   - <script src="../js/bootstrap.js"></script>
31   -
32   - <script src="../js/humps-2.0.0/humps.js"></script>
33   -
34   - <script src="../js/util/util.js"></script>
35   - <script src="../js/util/Hourglass.js"></script>
36   -
37   -
38   - <script src="../js/spin.js"></script>
39   - <script src="../js/ladda.js"></script>
40   -
41   - <script src="../js/jquery-ui-1.8.20.custom.js"></script>
42   - <script src="../js/codemirror.js"></script>
43   - <!-- <script src="../js/handlebars-1.3.js"></script> -->
44   - <script src="../js/emmet.js"></script>
45   - <script src="../js/jshint-2.6.min.js"></script>
46   - <script src="../js/jstorage.js"></script>
47   -
48   - <script src="../js/05-util.js"></script>
49   - <script src="../js/03-http.js"></script>
50   -
51   - <script src="../js/jquery.validationEngine.js"></script>
52   - <script src="../js/jquery.validationEngine-zh.js"></script>
53   - <script src="../js/jquery.isotope.js"></script>
54   -
55   - <link rel="stylesheet" href="../css/demo.css">
56   - <script type="text/javascript" src="../js/zTree_v3-3.5.27/js/jquery.ztree.core.js"></script>
57   - <script src="../js/gb.js"></script>
58   - <script type="text/javascript" src="../js/audioPlayer/jQuery.AudioPlayer.js"></script>
59   - <!-- <script src="../js/gbreplayer.js"></script> -->
60   -
61   - <script src="../js/gbdebug/mode/xml/xml.js"></script>
62   - <script src="../js/gbdebug/mode/javascript/javascript.js"></script>
63   - <script src="../js/gbdebug/mode/css/css.js"></script>
64   - <script src="../js/gbdebug/mode/htmlmixed/htmlmixed.js"></script>
65   - <script src="../js/gbdebug/mode/clike/clike.js"></script>
66   - <script src="../js/gbdebug/mode/php/php.js"></script>
67   - <script src="../js/gbdebug/mode/python/python.js"></script>
68   - <style type="text/css">
69   - #recordzone,
70   - #replayzone{
71   - display: none;
72   - }
73   - #recordzone.active,
74   - #replayzone.active{
75   - display: block;
76   - }
77   - </style>
78   -</head>
79   -<body>
80   - <div id="app" class="wrapper">
81   - <div id="appContainer">
82   - <div id="appLeft">
83   - <div class="tree-header">目录</div>
84   - <ul id="folder" class="ztree"></ul>
85   - <div id="handleLM"></div>
86   - </div>
87   - <div id="appMian">
88   - <div id="appMainHeader">
89   - <ul id="recordertab" class="nav nav-tabs pull-left">
90   - <li class="active"><a href="#replayzone" data-toggle="tab"><i class="icon iconfont icon-yulan"></i>播放课程</a></li>
91   - </ul>
92   - <div id="editorwrapper" class="pull-right">
93   - <div class="btn-group">
94   - <div id="htmlbutton" class="btn btn-default btn-sm" data-toggle="tooltip" data-placement="bottom" data-original-title="当前课程环境:Java" data-editorname="html">JAVA</div>
95   - <div class="btn btn-default btn-sm" data-toggle="tooltip" data-placement="bottom" data-original-title="JDK版本">JDK 7</div>
96   - </div>
97   - </div>
98   - </div>
99   - <div id="textarea">
100   - <div id="replayzone" class="active"></div>
101   - </div>
102   - <div id="handleMR"></div>
103   - <div class="pause-shodow hidden">
104   - <div class="compile-loading">
105   - <img src="../img/loading.png" alt="">
106   - </div>
107   - <div class="compile-reslut" style="display: none;">
108   - <div class="tip-header">
109   - <span>成功获取编译运行结果</span>
110   - </div>
111   - <div class="tip-content">
112   - <p>保存编译结果后,播放到此处会在运行区域直接显示结果。需要保存结果后继续录制吗?</p>
113   - </div>
114   - <div class="tip-footer">
115   - <button class="btn btn-success btn-sm" id="save_compile">保存并继续录制</button>
116   - <button class="btn btn-danger btn-sm" id="cancel_compile">不保存继续录制</button>
117   - </div>
118   - </div>
119   - </div>
120   - </div>
121   - <div id="appRight">
122   - <div id="resultpanel" class="panel panel-default editor-result">
123   - <div class="panel-heading result-header">
124   - <div class="pull-left">
125   - <div id="compileBtnGroup" class="btn-group"></div>
126   - </div>
127   - <div class="pull-right">
128   - <a id="full-screen" href="javascript:;" data-toggle="tooltip" data-placement="left" data-original-title="全屏录制" class="btn btn-link"><i class="icon iconfont icon-fangda"></i></a>
129   - <a id="back-screen" href="javascript:;" data-toggle="tooltip" data-placement="left" data-original-title="退出全屏录制" class="btn btn-link" style="display: none;"><i class="icon iconfont icon-fangda"></i></a>
130   - </div>
131   - <div class="btn-group">
132   - <button type="button" class="btn btn-success" id="play" data-status="0" title="" style="display: none;"><</button>
133   - <!-- <p id="replay">预览录制</p> -->
134   - </div>
135   - <!-- <div class="btn-group pull-right" id="fontendrun">
136   - <button id="autorun" type="button" class="btn" title="切换自动/手动运行代码" data-placement="bottom" data-autorun="1"></button>
137   - <button id="runnow" type="button" class="btn" title="手动运行代码" data-placement="bottom" disabled="disabled">
138   - 自动运行
139   - </button>
140   - </div> -->
141   - </div>
142   - <div class="panel-body hidden" id="cmprun-output">
143   - <div id="resultoutput">
144   - <!-- Nav tabs -->
145   - <ul class="nav nav-tabs result-tabs" role="tablist" id="cmprun-tabs">
146   - <li class="active"><a href="#stdin" role="tab" data-toggle="tab" class="text-warning">标准</a></li>
147   - <li><a href="#cmpinfo" role="tab" data-toggle="tab" class="text-warning">编译</a></li>
148   - <li><a href="#stderr" role="tab" data-toggle="tab" class="text-danger">错误</a></li>
149   - <li><a href="#output" role="tab" data-toggle="tab" class="text-success">结果</a></li>
150   - </ul>
151   - <!-- Tab panes -->
152   - <div class="tab-content">
153   - <div class="tab-pane active padall15" id="stdin">
154   - <input type="text" class="form-control" id="runtimeArgus" placeholder="标准输入">
155   - </div>
156   - <div class="tab-pane padall15" id="cmpinfo"></div>
157   - <div class="tab-pane padall15" id="stderr"></div>
158   - <div class="tab-pane padall15" id="output"></div>
159   - </div>
160   - </div>
161   - </div>
162   - <div class="panel-body" id="ifrcontainer">
163   - <iframe id="resultiframe" frameBorder="0" width="100%"></iframe>
164   - </div>
165   - </div>
166   - </div>
167   - </div>
168   - <div id="playFooter">
169   - <div class="" id="audioWrap">
170   - <button class="play-code" style="display: none;">
171   - <i class="icon iconfont icon-play"></i>
172   - </button>
173   - </div>
174   -<!-- <div class="playCode">
175   - <button>开始</button>
176   - </div> -->
177   - </div>
178   - </div>
179   - <!-- -->
180   - <div class="upload-tip" style="display: none;">
181   - <img src="../img/upload_tip.png" alt="">
182   - </div>
183   -
184   -
185   - <!-- 准备开始 -->
186   - <div id="countdown" style="display: none;">
187   - <img src="" alt="">
188   - </div>
189   -
190   - <!-- 重新开始 -->
191   - <div class="re-tips" style="display: none;">
192   - <div class="re-reslut">
193   - <div class="tip-header">
194   - <span>提示</span>
195   - </div>
196   - <div class="tip-content">
197   - <p>你确定要重新录制吗?</p>
198   - </div>
199   - <div class="tip-footer">
200   - <button class="btn btn-success btn-sm" id="re-sure">确定</button>
201   - <button class="btn btn-danger btn-sm" id="re-cancel">取消</button>
202   - </div>
203   - </div>
204   - </div>
205   -
206   -
207   - <script src="../js/recorder/Myna.js"></script>
208   - <script src="../js/recording/recording.js"></script>
209   -
210   - <script>
211   - </script>
212   -</body>
213   -</html>
214   -
215   -
216   -
src/gxb-ide/Dir.js
... ... @@ -620,19 +620,19 @@
620 620 initTrigger(coderecords)
621 621  
622 622 // fix js执行顺序playTimes没有值
623   - // if(isAndroid){
624   - // playTimes++
625   - // }
  623 + if(isAndroid){
  624 + playTimes++
  625 + }
626 626  
627 627 AudioPlayer(audioUrl)
628 628  
629 629 var role = getQuery('role');
630 630 if (role == 0) {
631   - // if(!isAndroid){
  631 + if(!isAndroid){
632 632 $.AudioPlayer.play()
633   - // }else{
634   - // playTimes++
635   - // }
  633 + }else{
  634 + playTimes++
  635 + }
636 636 }else{
637 637 CodingEditer.playCoding();
638 638 }
... ... @@ -667,22 +667,22 @@
667 667 debuggers: false,
668 668 allowSeek: false,
669 669 canplayCallback: function(res){
670   - if (res.status == true && playTimes === 0) {
  670 + if (res.status == true && playTimes === 0 && !isAndroid) {
671 671 CodingEditer.playCoding();
672 672 playTimes++
673   - alert('canplay !isAndroid ----------- ' + playTimes)
  673 + // alert('canplay !isAndroid ----------- ' + playTimes)
674 674 }
675   - alert('canplayCallback可以播放 ----------- ' + playTimes)
  675 + // alert('canplayCallback可以播放 ----------- ' + playTimes)
676 676 },
677 677 onwaitingCallback: function(){
678   - alert('onwaitingCallback ----------- ' + playTimes)
  678 + // alert('onwaitingCallback ----------- ' + playTimes)
679 679 },
680 680 playCallback: function() { // 播放
681 681 if (playTimes != 0) {
682 682 CodingEditer.playCoding();
683 683 // alert('playCoding可以播放 ----------- ' + playTimes)
684 684 }
685   - alert('playCoding可以播放 ----------- ' + playTimes)
  685 + // alert('playCoding可以播放 ----------- ' + playTimes)
686 686 },
687 687 pauseCallback: function() { // 暂停
688 688 CodingEditer.audioTime = parseInt(player.elements.audioDom.currentTime*1000);
... ...
src/js/audioPlayer/jQuery.AudioPlayer.js
... ... @@ -239,7 +239,6 @@
239 239  
240 240 // When the browser can play audio / 当浏览器可以播放音频时
241 241 _this.elements.audioDom.oncanplay = function() {
242   - alert('oncanplay')
243 242 _this.log('oncanplay');
244 243 // Determine the audio to load / 判断音频加载完毕
245 244 var duration = Math.round(_this.elements.audioDom.duration);
... ... @@ -274,7 +273,6 @@
274 273  
275 274 // When the browser is downloading audio / 当浏览器正在下载音频时
276 275 _this.elements.audioDom.onprogress = function() {
277   - alert('onprogress')
278 276 if (_this.elements.audioDom.readyState == 4) {
279 277 _this.elements.loadProgress.width((_this.elements.audioDom.buffered.end(0) / _this.elements.audioDom.seekable.end(0)) * _this.elements.totalPlayProgress.width());
280 278 }
... ... @@ -282,7 +280,6 @@
282 280  
283 281 // When the browser begins searching for the audio / 当浏览器开始查找音频时
284 282 _this.elements.audioDom.onloadstart = function() {
285   - alert('onloadstart')
286 283 _this.log('onloadstart');
287 284 if(typeof _this.options.onloadstartCallback == 'function'){
288 285 _this.options.onloadstartCallback({'status': true});
... ... @@ -291,21 +288,18 @@
291 288  
292 289 // When the audio has begun or is no longer suspended / 当音频已开始或不再暂停时
293 290 _this.elements.audioDom.onplay = function() {
294   - alert('onplay')
295 291 _this.log('onplay');
296 292 _this.elements.playButton.find('img').attr('src', _this.options.imagePath + '/pause.png');
297 293 }
298 294  
299 295 // When the audio has been suspended / 当音频已暂停时
300 296 _this.elements.audioDom.onpause = function() {
301   - alert('onpause')
302 297 _this.log('onpause');
303 298 _this.elements.playButton.find('img').attr('src', _this.options.imagePath + '/play.png');
304 299 }
305 300  
306 301 // When the current playlist has ended / 当目前的播放列表已结束时
307 302 _this.elements.audioDom.onended = function() {
308   - alert('onended')
309 303 _this.log('onended');
310 304  
311 305 if(typeof _this.options.endedCallback == 'function'){
... ... @@ -333,7 +327,6 @@
333 327 }
334 328  
335 329 _this.elements.audioDom.onwaiting = function() {
336   - alert('onwaiting')
337 330 _this.log('onwaiting');
338 331 if(typeof _this.options.onwaitingCallback == 'function'){
339 332 _this.options.onwaitingCallback({'status': true});
... ...
src/js/player.js
... ... @@ -35,8 +35,8 @@ $(function(){
35 35 Dir.isReplayPage = true;
36 36  
37 37 $('.play-code').on('click', function(){
38   - console.log('=================')
39   - CodingEditer.playCoding();
  38 + alert('=================')
  39 + // CodingEditer.playCoding();
40 40 CodingEditer.editable(0)
41 41 })
42 42  
... ...
src/v1.1/player.html
... ... @@ -149,13 +149,6 @@
149 149 <input type="hidden" class="audio-url" value="">
150 150 <div id="playFooter">
151 151 <div class="" id="audioWrap">
152   - <button class="play-code" style="display: none;">
153   - <img src="../img/play.svg" alt="">
154   - <!-- <i class="icon iconfont icon-play"></i> -->
155   - </button>
156   - <button class="pause-play-code" style="display: none;">
157   - <img src="../img/pause.svg" alt="">
158   - </button>
159 152 </div>
160 153 </div>
161 154 </div>
... ...