Commit 362233c96f38ef270fe6e643d421c0e9391d55f3

Authored by ykxie
2 parents 918556f9 f1b28a3b

合并代码

src/css/recording.css
@@ -502,7 +502,8 @@ button { @@ -502,7 +502,8 @@ button {
502 position: absolute; 502 position: absolute;
503 top: 50%; 503 top: 50%;
504 left: 50%; 504 left: 50%;
505 - transform: translate(-50%, -50%); } 505 + transform: translate(-50%, -50%);
  506 + z-index: 999; }
506 507
507 .re-tips .btn-success, .pause-shodow .btn-success { 508 .re-tips .btn-success, .pause-shodow .btn-success {
508 background-color: #1FB6FF; 509 background-color: #1FB6FF;
src/js/gbreplayer.js
@@ -10,6 +10,7 @@ $(function(){ @@ -10,6 +10,7 @@ $(function(){
10 _source = getQuery('source'); 10 _source = getQuery('source');
11 var $recording_time = $('.recording-time'); 11 var $recording_time = $('.recording-time');
12 var tag = 1; // 标记第一次暂停 12 var tag = 1; // 标记第一次暂停
  13 + var player = $.AudioPlayer;
13 14
14 // 根据不同的角色渲染页面 15 // 根据不同的角色渲染页面
15 if(_role == 1){ 16 if(_role == 1){
@@ -38,7 +39,9 @@ $(function(){ @@ -38,7 +39,9 @@ $(function(){
38 isgblibreplay: 0, 39 isgblibreplay: 0,
39 continue_recording: 0, //是否继续自动保`存的录制 40 continue_recording: 0, //是否继续自动保`存的录制
40 recording_status: 1, //当前是否在录制 41 recording_status: 1, //当前是否在录制
41 - isRcording: 0, // 判断当前是否在录制 0:未录制 1:录制中 42 + times: 0, // 播放次数
  43 + isPause: 1, // 是否暂停 1:不暂停,0:暂停
  44 + isRcording: 0, // 是否录制 1:录制中,0:暂停中
42 recordinit: function(codereplaytype, preload) { 45 recordinit: function(codereplaytype, preload) {
43 /* #STRAT:生成CodeMirror Editor for JS/CSS/HTML */ 46 /* #STRAT:生成CodeMirror Editor for JS/CSS/HTML */
44 var htmlid = document.getElementById('HTMLeditor'), 47 var htmlid = document.getElementById('HTMLeditor'),
@@ -377,8 +380,6 @@ $(function(){ @@ -377,8 +380,6 @@ $(function(){
377 compileMode(langid); 380 compileMode(langid);
378 381
379 $("#play_audio").attr('src', "http://gxb-file.oss-cn-beijing.aliyuncs.com/" + coderecords.audioUrl); 382 $("#play_audio").attr('src', "http://gxb-file.oss-cn-beijing.aliyuncs.com/" + coderecords.audioUrl);
380 -  
381 - var player = $.AudioPlayer;  
382 player.init({ 383 player.init({
383 container: '#audioWrap' 384 container: '#audioWrap'
384 ,source: "http://gxb-file.oss-cn-beijing.aliyuncs.com/" + coderecords.audioUrl 385 ,source: "http://gxb-file.oss-cn-beijing.aliyuncs.com/" + coderecords.audioUrl
@@ -386,36 +387,15 @@ $(function(){ @@ -386,36 +387,15 @@ $(function(){
386 ,debuggers: false 387 ,debuggers: false
387 ,allowSeek: false 388 ,allowSeek: false
388 ,playCallback: function(){ // 播放 389 ,playCallback: function(){ // 播放
389 - if (GBCodePlayBack.firstPlay == 0) {  
390 - $('#readonly').trigger('click');  
391 - GBCodePlayBack.htmlplayereditor.setValue(GBCodePlayBack.pauseValue)  
392 - }else{  
393 - GBCodePlayBack.htmlplayereditor.setValue('')  
394 - var resultData = {  
395 - output: '',  
396 - stderr: '',  
397 - cmpinfo: '',  
398 - result: 1  
399 - };  
400 - compileResult(resultData);  
401 - }  
402 -  
403 - playCoder();  
404 - // $('#play').trigger('click'); 390 + playCode();
405 } 391 }
406 - ,pauseCallback: function(){ // 暂停  
407 -  
408 - GBCodePlayBack.pauseTime = new Date().getTime(); // 暂停的时间  
409 -  
410 - $('#readonly').trigger('click');  
411 - 392 + ,pauseCallback: function(){ // 暂停
  393 + GBCodePlayBack.audioTime = parseInt(player.elements.audioDom.currentTime*1000)
  394 + console.log(parseInt(player.elements.audioDom.currentTime*1000));
  395 + pauseCode();
412 GBCodePlayBack.firstPlay = 0; 396 GBCodePlayBack.firstPlay = 0;
413 -  
414 GBCodePlayBack.pauseValue = GBCodePlayBack.htmlplayereditor.getValue(); 397 GBCodePlayBack.pauseValue = GBCodePlayBack.htmlplayereditor.getValue();
415 -  
416 - // $('#play').trigger('click');  
417 - playCoder();  
418 - 398 + $('#readonly').trigger('click');
419 } 399 }
420 ,seekedCallback: function(){} // 拖拽 400 ,seekedCallback: function(){} // 拖拽
421 ,endedCallback: function(){ // 结束播放 401 ,endedCallback: function(){ // 结束播放
@@ -923,6 +903,7 @@ $(function(){ @@ -923,6 +903,7 @@ $(function(){
923 903
924 var keepTimer = $('.recording-time').val() 904 var keepTimer = $('.recording-time').val()
925 replaydto.totaltime = parseInt(keepTimer); 905 replaydto.totaltime = parseInt(keepTimer);
  906 + console.log(JSON.stringify(replaydto));
926 if(_role == 0){ 907 if(_role == 0){
927 replaydto.codeRecordList = recorddatas; 908 replaydto.codeRecordList = recorddatas;
928 $.ajax({ 909 $.ajax({
@@ -984,8 +965,6 @@ $(function(){ @@ -984,8 +965,6 @@ $(function(){
984 $(this).toggleClass('btn-primary').toggleClass('btn-default'); 965 $(this).toggleClass('btn-primary').toggleClass('btn-default');
985 GBCodePlayBack.replay_enhancement = !GBCodePlayBack.replay_enhancement; 966 GBCodePlayBack.replay_enhancement = !GBCodePlayBack.replay_enhancement;
986 }); 967 });
987 -  
988 -  
989 968
990 // 进度条滚动控制播放进度 969 // 进度条滚动控制播放进度
991 var $sliderpropress = $(".replayprogress"); 970 var $sliderpropress = $(".replayprogress");
@@ -1152,16 +1131,15 @@ $(function(){ @@ -1152,16 +1131,15 @@ $(function(){
1152 1131
1153 this.resizeWindow($('#ifrcontainer').find('#resultiframe')); 1132 this.resizeWindow($('#ifrcontainer').find('#resultiframe'));
1154 1133
1155 - // $(window).bind('beforeunload', function(){  
1156 -  
1157 - // return '确认立刻退出? 请确保已录制的代码回放以保存,以防回放数据丢失';  
1158 -  
1159 - // }); 1134 + if (document.URL.indexOf('index.htm')>=0) {
  1135 + $(window).bind('beforeunload', function(){
  1136 + return '确认立刻退出? 请确保已录制的代码回放以保存,以防回放数据丢失';
  1137 + });
  1138 + }
1160 1139
1161 /* 解决Chrome浏览器非激活标签页下错乱问题 */ 1140 /* 解决Chrome浏览器非激活标签页下错乱问题 */
1162 (function() { 1141 (function() {
1163 - var hidden = "hidden";  
1164 - 1142 + var hidden = "hidden";
1165 // Standards: 1143 // Standards:
1166 if (hidden in document) 1144 if (hidden in document)
1167 document.addEventListener("visibilitychange", onchange); 1145 document.addEventListener("visibilitychange", onchange);
@@ -1190,13 +1168,11 @@ $(function(){ @@ -1190,13 +1168,11 @@ $(function(){
1190 }else{ 1168 }else{
1191 document.body.className = this[hidden] ? "hidden" : "visible"; 1169 document.body.className = this[hidden] ? "hidden" : "visible";
1192 } 1170 }
1193 -  
1194 /* Bugfix: Mobile Firefox has a bug here, when loading page it shows blur */ 1171 /* Bugfix: Mobile Firefox has a bug here, when loading page it shows blur */
1195 -  
1196 if(document.body.className==='hidden'){ 1172 if(document.body.className==='hidden'){
1197 - if($('#play').data('status')==1){  
1198 - $('#play').trigger('click');  
1199 - } 1173 + // player.pauseCallback();
  1174 + // pauseCode()
  1175 +
1200 } 1176 }
1201 } 1177 }
1202 // set the initial state 1178 // set the initial state
@@ -1293,6 +1269,7 @@ $(function(){ @@ -1293,6 +1269,7 @@ $(function(){
1293 1269
1294 record.trigger = 1; //标记已运行 1270 record.trigger = 1; //标记已运行
1295 record.playTime = new Date().getTime(); // 播放开始时间 1271 record.playTime = new Date().getTime(); // 播放开始时间
  1272 + GBCodePlayBack.codeTimes = 1; //
1296 1273
1297 var resultData = { 1274 var resultData = {
1298 output: record.output || '', 1275 output: record.output || '',
@@ -1425,7 +1402,7 @@ $(function(){ @@ -1425,7 +1402,7 @@ $(function(){
1425 1402
1426 // 开始录制 1403 // 开始录制
1427 $('#start-recording').click(function(){ 1404 $('#start-recording').click(function(){
1428 - GBCodePlayBack.isRcording = 1; 1405 + $('#recordertab a:eq(0)').tab('show');
1429 // 编译状态 1406 // 编译状态
1430 var data = $(this).attr('data'); 1407 var data = $(this).attr('data');
1431 var seconds = 0; 1408 var seconds = 0;
@@ -1438,6 +1415,7 @@ $(function(){ @@ -1438,6 +1415,7 @@ $(function(){
1438 }; 1415 };
1439 runResult() 1416 runResult()
1440 if(data == 1){ 1417 if(data == 1){
  1418 + GBCodePlayBack.isRcording = 1;
1441 $("#countdown").find('img').attr('src', 'img/ready-go.gif'); 1419 $("#countdown").find('img').attr('src', 'img/ready-go.gif');
1442 $("#countdown").find('img').load(function(){ 1420 $("#countdown").find('img').load(function(){
1443 var countdown = setInterval(function(){ 1421 var countdown = setInterval(function(){
@@ -1450,6 +1428,8 @@ $(function(){ @@ -1450,6 +1428,8 @@ $(function(){
1450 },1000); 1428 },1000);
1451 }) 1429 })
1452 }else{ 1430 }else{
  1431 + GBCodePlayBack.isRcording = 0;
  1432 + GBCodePlayBack.htmleditor.setOption('readOnly', true);
1453 $("#countdown").hide(); 1433 $("#countdown").hide();
1454 $("#re-recoding").show(); 1434 $("#re-recoding").show();
1455 $("#start-recording").hide(); 1435 $("#start-recording").hide();
@@ -1489,8 +1469,6 @@ $(function(){ @@ -1489,8 +1469,6 @@ $(function(){
1489 runResult() 1469 runResult()
1490 }); 1470 });
1491 1471
1492 -  
1493 -  
1494 // 使用服务端编译语言 1472 // 使用服务端编译语言
1495 $('#comprunbtngrp').unbind("click").on('click', '#comprun', function(event){ 1473 $('#comprunbtngrp').unbind("click").on('click', '#comprun', function(event){
1496 event.preventDefault(); 1474 event.preventDefault();
@@ -1498,23 +1476,59 @@ $(function(){ @@ -1498,23 +1476,59 @@ $(function(){
1498 $('#comprun').find('ladda-spinner').remove(); 1476 $('#comprun').find('ladda-spinner').remove();
1499 l.start(); 1477 l.start();
1500 1478
1501 - // 是否在录制录制  
1502 - if(!GBCodePlayBack.isRcording){  
1503 - compileRun(l);  
1504 - }else{  
1505 - timerRecord();  
1506 - pushRecords();  
1507 - compileRun(l);  
1508 - }  
1509 - 1479 + if (!GBCodePlayBack.isRcording) {
  1480 + compileRun(l)
  1481 + }else{
  1482 + var runStatus = $("#comprun").data('run');
  1483 + if (runStatus == 1) {
  1484 + Hourglass.pauseTimer(); // 暂停计时器
  1485 + recorder.pause(); // 音频暂停
  1486 + }
  1487 + $("#comprun").data('run', 0);
  1488 + $('.compile-loading').show();
  1489 + console.log($("#comprun").data('run'));
  1490 + // 暂停录制
  1491 + var pauseState = $('#pause').data('pause');
  1492 + if (pauseState == 1 && _role == 0) {
  1493 + GBCodePlayBack.record_pause_time = new Date().getTime(); // 暂停的时间
  1494 + var recordobj = {
  1495 + intervaltime: GBCodePlayBack.record_pause_time - GBCodePlayBack.record_startime,
  1496 + editor: 'html',
  1497 + changeobj: {
  1498 + from: {
  1499 + ch: 0,
  1500 + line: 0,
  1501 + },
  1502 + text: '',
  1503 + to: {
  1504 + ch: 0,
  1505 + line: 0,
  1506 + }
  1507 + },
  1508 + trigger: 0,
  1509 + playTime: 0
  1510 + };
  1511 + GBCodePlayBack.records.push(recordobj);
  1512 + console.log(GBCodePlayBack.records);
  1513 +
  1514 + $('#pause').data('status', '1');
  1515 + $('#pause').data('pause', '0');
  1516 + $('#pause').removeClass('hidden').addClass('show');
  1517 + $('#start-recording').hide();
  1518 +
  1519 + $('.pause-shodow').removeClass('hidden').addClass('show');
  1520 + console.log('0000---1111')
  1521 + }
  1522 + compileRun(l)
  1523 + }
1510 }); 1524 });
1511 1525
1512 1526
1513 // 保存编译结果 1527 // 保存编译结果
1514 $('#save_compile').unbind("click").click(function(){ 1528 $('#save_compile').unbind("click").click(function(){
1515 var length = GBCodePlayBack.records.length - 1; 1529 var length = GBCodePlayBack.records.length - 1;
1516 - Hourglass.pauseTimer();  
1517 - $("#comprun").data('run', 1); 1530 + recodingConf()
  1531 +
1518 GBCodePlayBack.records[length].compile = GBCodePlayBack.compileResultData; 1532 GBCodePlayBack.records[length].compile = GBCodePlayBack.compileResultData;
1519 1533
1520 GBCodePlayBack.records[length].output = GBCodePlayBack.compileResultData.output; 1534 GBCodePlayBack.records[length].output = GBCodePlayBack.compileResultData.output;
@@ -1522,70 +1536,48 @@ $(function(){ @@ -1522,70 +1536,48 @@ $(function(){
1522 GBCodePlayBack.records[length].cmpinfo = GBCodePlayBack.compileResultData.cmpinfo; 1536 GBCodePlayBack.records[length].cmpinfo = GBCodePlayBack.compileResultData.cmpinfo;
1523 GBCodePlayBack.records[length].result = GBCodePlayBack.compileResultData.result; 1537 GBCodePlayBack.records[length].result = GBCodePlayBack.compileResultData.result;
1524 1538
1525 - GBCodePlayBack.record_continue_time = new Date().getTime();  
1526 -  
1527 contrlPause(); 1539 contrlPause();
1528 -  
1529 }) 1540 })
1530 1541
1531 // 不保存编译结果 1542 // 不保存编译结果
1532 $('#cancel_compile').unbind('click').click(function(){ 1543 $('#cancel_compile').unbind('click').click(function(){
1533 - Hourglass.pauseTimer();  
1534 - $("#comprun").data('run', 1); 1544 + recodingConf()
1535 contrlPause() 1545 contrlPause()
1536 - GBCodePlayBack.record_continue_time = new Date().getTime();  
1537 }) 1546 })
1538 1547
1539 - // 暂停计时、暂停录音  
1540 - function timerRecord(){  
1541 - var runStatus = $("#comprun").data('run');  
1542 - if(runStatus == 1){  
1543 - Hourglass.pauseTimer(); // 暂停计时器  
1544 - recorder.pause(); // 音频暂停  
1545 - } 1548 + // 继续录制配置
  1549 + function recodingConf(){
  1550 + Hourglass.pauseTimer();
  1551 + $("#comprun").data('run', 1);
  1552 + GBCodePlayBack.record_startime = new Date().getTime();
  1553 + GBCodePlayBack.record_continue_time = new Date().getTime();
1546 } 1554 }
1547 1555
1548 - // 禁止编写代码,添加遮罩  
1549 - function showMask(){  
1550 - $('#pause').data('status', '1');  
1551 - $('#pause').data('pause', '0');  
1552 - $('#pause').removeClass('hidden').addClass('show');  
1553 - $('#start-recording').hide();  
1554 -  
1555 - $('.pause-shodow').removeClass('hidden').addClass('show'); 1556 + // 切换自动/手动运行代码
  1557 + function autoRun(autorun){
  1558 + if(autorun===1){
  1559 + $('#runnow').prop('disabled',false).html('手动运行').attr('data-original-title', '手动运行');
  1560 + }else{
  1561 + $('#runnow').prop('disabled',true).html('自动运行').attr('data-original-title', '自动运行');
  1562 + }
1556 } 1563 }
1557 1564
1558 - // 给数组插入一个元素  
1559 - function pushRecords(){  
1560 - // 暂停录制  
1561 - var pauseState = $('#pause').data('pause');  
1562 - if(pauseState == 1 && _role == 0){  
1563 - GBCodePlayBack.record_pause_time = new Date().getTime(); // 暂停的时间  
1564 - var recordobj = {  
1565 - intervaltime: GBCodePlayBack.record_pause_time - GBCodePlayBack.record_startime,  
1566 - editor: 'html',  
1567 - changeobj: {  
1568 - from:{  
1569 - ch: 0,  
1570 - line: 0,  
1571 - },  
1572 - text: '',  
1573 - to:{  
1574 - ch: 0,  
1575 - line: 0,  
1576 - }  
1577 - },  
1578 - trigger: 0,  
1579 - playTime: 0  
1580 - };  
1581 - GBCodePlayBack.records.push(recordobj);  
1582 - showMask(); 1565 + // 编译结果
  1566 + function runResult(){
  1567 + if(typeof GBCodePlayBack.htmleditor !== 'undefined'){
  1568 + GBCodePlayBack.generateResult(GBCodePlayBack.htmleditor.getValue());
  1569 + return false;
  1570 + }
  1571 + if(typeof GBCodePlayBack.htmlplayereditor !== 'undefined'){
  1572 + GBCodePlayBack.generateResult(GBCodePlayBack.htmlplayereditor.getValue());
1583 } 1573 }
1584 } 1574 }
1585 1575
1586 - // 编译 1576 +
  1577 + // 云编译
1587 function compileRun(l){ 1578 function compileRun(l){
1588 - var code = (typeof GBCodePlayBack.htmleditor !=='undefined' && GBCodePlayBack.htmleditor.getValue()) || (typeof GBCodePlayBack.htmlplayereditor !=='undefined' && GBCodePlayBack.htmlplayereditor.getValue()); 1579 + var code = (typeof GBCodePlayBack.htmleditor !=='undefined' && GBCodePlayBack.htmleditor.getValue())
  1580 + || (typeof GBCodePlayBack.htmlplayereditor !=='undefined' && GBCodePlayBack.htmlplayereditor.getValue());
1589 var langid = $('#htmlbutton').data("languageid"); 1581 var langid = $('#htmlbutton').data("languageid");
1590 var input = $('#input').val() || ''; 1582 var input = $('#input').val() || '';
1591 var compileData = { 1583 var compileData = {
@@ -1615,27 +1607,6 @@ $(function(){ @@ -1615,27 +1607,6 @@ $(function(){
1615 }); 1607 });
1616 } 1608 }
1617 1609
1618 - // 切换自动/手动运行代码  
1619 - function autoRun(autorun){  
1620 - if(autorun===1){  
1621 - $('#runnow').prop('disabled',false).html('手动运行').attr('data-original-title', '手动运行');  
1622 - }else{  
1623 - $('#runnow').prop('disabled',true).html('自动运行').attr('data-original-title', '自动运行');  
1624 - }  
1625 - }  
1626 -  
1627 - // 编译结果  
1628 - function runResult(){  
1629 - if(typeof GBCodePlayBack.htmleditor !== 'undefined'){  
1630 - GBCodePlayBack.generateResult(GBCodePlayBack.htmleditor.getValue());  
1631 - return false;  
1632 - }  
1633 - if(typeof GBCodePlayBack.htmlplayereditor !== 'undefined'){  
1634 - GBCodePlayBack.generateResult(GBCodePlayBack.htmlplayereditor.getValue());  
1635 - }  
1636 - }  
1637 -  
1638 -  
1639 // 初始化页面 1610 // 初始化页面
1640 function initRecoding(){ 1611 function initRecoding(){
1641 GBCodePlayBack.recordinit(); 1612 GBCodePlayBack.recordinit();
@@ -1784,60 +1755,61 @@ $(function(){ @@ -1784,60 +1755,61 @@ $(function(){
1784 } 1755 }
1785 1756
1786 // 播发代码 1757 // 播发代码
1787 - function playCoder() {  
1788 -  
1789 - $('#recordertab a:eq(1)').tab('show');  
1790 -  
1791 - var playstatus = $('#play').data('status');  
1792 - if (!playstatus) {  
1793 - var playbackrecord = GBCodePlayBack.records;  
1794 - var starttime = playbackrecord[0].intervaltime;  
1795 -  
1796 - for (var i = 0; i < playbackrecord.length; i++) {  
1797 - if (playbackrecord[i].trigger === 0) {  
1798 - var timeoutcontroller = null;  
1799 - var replayinterval = playbackrecord[i].intervaltime,  
1800 - replay_enhancement_interval = GBCodePlayBack.replay_enhancement_value;  
1801 -  
1802 - if (i === 0) {  
1803 - starttime = replayinterval;  
1804 - if (GBCodePlayBack.pauseTime) {  
1805 - if (tag === 1) {  
1806 - GBCodePlayBack.stopIntervalTime = playbackrecord[0].intervaltime - (GBCodePlayBack.pauseTime - GBCodePlayBack.playRecordStart);  
1807 - starttime = GBCodePlayBack.stopIntervalTime;  
1808 - tag++;  
1809 - } else {  
1810 - GBCodePlayBack.stopIntervalTime = GBCodePlayBack.stopIntervalTime - (GBCodePlayBack.pauseTime - GBCodePlayBack.playRecordStart);  
1811 - starttime = GBCodePlayBack.stopIntervalTime;  
1812 - }  
1813 - }  
1814 - } else {  
1815 - starttime = parseInt(starttime) + parseInt(replayinterval);  
1816 -  
1817 - if (GBCodePlayBack.pauseTime && GBCodePlayBack.pauseTime - playbackrecord[i - 1].playTime > 0) {  
1818 - GBCodePlayBack.stopIntervalTime = GBCodePlayBack.pauseTime - playbackrecord[i - 1].playTime;  
1819 - starttime = GBCodePlayBack.stopIntervalTime + parseInt(replayinterval);  
1820 - }  
1821 - }  
1822 - timeoutcontroller = setTimeout(GBCodePlayBack.changeValueCallback(playbackrecord[i]), starttime);  
1823 - GBCodePlayBack.recordtimeoutcontrolls.push(timeoutcontroller);  
1824 - }  
1825 - }  
1826 - // 记录播放的时间  
1827 - GBCodePlayBack.playRecordStart = new Date().getTime();  
1828 - } else {  
1829 - var recordtimeoutcontrolls = GBCodePlayBack.recordtimeoutcontrolls; 1758 + function playCode(){
  1759 + if (GBCodePlayBack.firstPlay == 0) {
  1760 + $('#readonly').trigger('click');
  1761 + GBCodePlayBack.htmlplayereditor.setValue(GBCodePlayBack.pauseValue)
  1762 + }else{
  1763 + GBCodePlayBack.htmlplayereditor.setValue('')
  1764 + var resultData = {
  1765 + output: '',
  1766 + stderr: '',
  1767 + cmpinfo: '',
  1768 + result: 1
  1769 + };
  1770 + compileResult(resultData);
  1771 + }
1830 1772
1831 - for (var i = 0; i < recordtimeoutcontrolls.length; i++) {  
1832 - clearTimeout(recordtimeoutcontrolls[i]);  
1833 - }  
1834 - GBCodePlayBack.recordtimeoutcontrolls = [];  
1835 - GBCodePlayBack.recordtimeouts = [];  
1836 - }  
1837 - $('#play').data('status', !playstatus); 1773 + var playbackrecord = GBCodePlayBack.records;
  1774 + var starttime = 0;
  1775 + var playTotalTime = 0;
  1776 +
  1777 + console.log(playbackrecord)
  1778 + for (var i = 0; i < playbackrecord.length; i++) {
  1779 + if (playbackrecord[i].trigger === 1) {
  1780 + playTotalTime += parseInt(playbackrecord[i].intervaltime);
  1781 + }else if (playbackrecord[i].trigger === 0) {
  1782 + var timeoutcontroller = null;
  1783 + var replayinterval = playbackrecord[i].intervaltime;
  1784 +
  1785 + if (!GBCodePlayBack.isPause) {
  1786 + starttime = replayinterval - (GBCodePlayBack.audioTime - playTotalTime);
  1787 + GBCodePlayBack.isPause = 1
  1788 + }else{
  1789 + if (i == 0) {
  1790 + starttime = replayinterval;
  1791 + }else{
  1792 + starttime = parseInt(starttime) + parseInt(replayinterval);
  1793 + }
  1794 + }
  1795 + console.log(starttime);
  1796 + timeoutcontroller = setTimeout(GBCodePlayBack.changeValueCallback(playbackrecord[i]), starttime/GBCodePlayBack.speed);
  1797 + GBCodePlayBack.recordtimeoutcontrolls.push(timeoutcontroller);
  1798 + }
  1799 + }
  1800 + console.log(GBCodePlayBack.recordtimeoutcontrolls);
1838 } 1801 }
1839 1802
  1803 + function pauseCode(){
  1804 + var recordtimeoutcontrolls = GBCodePlayBack.recordtimeoutcontrolls;
  1805 + GBCodePlayBack.isPause = 0;
1840 1806
  1807 + for (var i = 0; i < recordtimeoutcontrolls.length; i++) {
  1808 + clearTimeout(recordtimeoutcontrolls[i]);
  1809 + }
  1810 + GBCodePlayBack.recordtimeoutcontrolls = [];
  1811 + GBCodePlayBack.recordtimeouts = [];
  1812 + }
1841 1813
1842 1814
1843 var htmlhlLine = null, 1815 var htmlhlLine = null,
@@ -1908,6 +1880,12 @@ $(function(){ @@ -1908,6 +1880,12 @@ $(function(){
1908 1880
1909 function selectLang(langid){ 1881 function selectLang(langid){
1910 switch (langid) { 1882 switch (langid) {
  1883 + case 1:
  1884 + $('#htmlbutton').data('languageid', 1).html("C++").trigger('click');
  1885 + break;
  1886 + case 42:
  1887 + $('#htmlbutton').data('languageid', 42).html("C++").trigger('click');
  1888 + break;
1911 case 10: 1889 case 10:
1912 $('#htmlbutton').data('languageid', 10).html("JAVA").trigger('click'); 1890 $('#htmlbutton').data('languageid', 10).html("JAVA").trigger('click');
1913 break; 1891 break;
@@ -1970,7 +1948,7 @@ $(function(){ @@ -1970,7 +1948,7 @@ $(function(){
1970 } 1948 }
1971 1949
1972 GBCodePlayBack.firstPlay = 1; 1950 GBCodePlayBack.firstPlay = 1;
1973 - 1951 + console.log(GBCodePlayBack.records);
1974 /* 初始化播放 */ 1952 /* 初始化播放 */
1975 $('#play').data('status', 0); 1953 $('#play').data('status', 0);
1976 for (var i = 0; i < GBCodePlayBack.records.length; i++) { 1954 for (var i = 0; i < GBCodePlayBack.records.length; i++) {
src/js/recorder/Myna.js
@@ -221,6 +221,7 @@ @@ -221,6 +221,7 @@
221 coment_size: 0, 221 coment_size: 0,
222 errorNum: 0 222 errorNum: 0
223 } 223 }
  224 + console.log(obj);
224 uploadArr.push(obj) 225 uploadArr.push(obj)
225 for (var partIndex = 0; partIndex < parts.total_num; partIndex++) { 226 for (var partIndex = 0; partIndex < parts.total_num; partIndex++) {
226 var partItem = parts.multi_list[partIndex]; 227 var partItem = parts.multi_list[partIndex];
@@ -260,13 +261,13 @@ @@ -260,13 +261,13 @@
260 261
261 var headers = { 'x-amz-acl': 'public-read' } 262 var headers = { 'x-amz-acl': 'public-read' }
262 if (isMultiPart == true) { 263 if (isMultiPart == true) {
263 - headers = { 'Access-Control-Allow-Origin': "http://" + window.location.host } 264 + headers = { 'Access-Control-Allow-Origin': "https://" + window.location.host }
264 } else { 265 } else {
265 headers = { 'x-amz-acl': 'public-read' } 266 headers = { 'x-amz-acl': 'public-read' }
266 } 267 }
267 console.log(url); 268 console.log(url);
268 269
269 - url = 'https' + url.split('http')[1]; 270 + url = 'https' + url.split('https')[1];
270 $.ajax({ 271 $.ajax({
271 url: url, 272 url: url,
272 type: 'PUT', 273 type: 'PUT',
src/scss/recording.scss
@@ -648,6 +648,7 @@ button{ @@ -648,6 +648,7 @@ button{
648 top: 50%; 648 top: 50%;
649 left: 50%; 649 left: 50%;
650 transform: translate(-50%, -50%); 650 transform: translate(-50%, -50%);
  651 + z-index: 999;
651 } 652 }
652 } 653 }
653 .re-tips, .pause-shodow{ 654 .re-tips, .pause-shodow{