index.html 12.8 KB
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="renderer" content="webkit"> 
    <title>录制课程 - 互动编程</title>
    <link rel="stylesheet" href="../css/reset.css">
    <link rel="stylesheet" href="../css/responsive/css/bootstrap.min.css">
    <link href="../css/validationEngine.jquery.css" rel="stylesheet">
    <link href="../css/codemirror.css" rel="stylesheet">
    <link href="../css/cm-theme/gbtags.css" rel="stylesheet">
    <link href="../css/cm-theme/eclipse.css" rel="stylesheet">
    <link href="../css/cm-theme/gbtags-dark.css" rel="stylesheet">
    <link href="../css/font/iconfont.css" rel="stylesheet">
    <link href="../css/font_all/iconfont.css" rel="stylesheet">
    <link href="../css/layout.css" rel="stylesheet">
    <link href="../css/main.css" rel="stylesheet">
    <link href="../css/recording.css" rel="stylesheet">
    <!-- <link href="http://lab.hakim.se/ladda/dist/ladda.min.css" rel="stylesheet"> -->
    <link rel="stylesheet" href="../js/zTree_v3-3.5.27/css/zTreeStyle/zTreeStyle.css">

    <script>
        var gxb_api = "https://restful.gaoxiaobang.com";
        // var gxb_api = "http://192.168.80.223:8080"

    </script>

    <script src="../js/jquery-1.7.1.js"></script>
    <script src="../js/bootstrap.js"></script>

    <script src="../js/humps-2.0.0/humps.js"></script>

    <script src="../js/util/util.js"></script>
    <script  src="../js/util/Hourglass.js"></script>


    <script src="../js/spin.js"></script>
    <script src="../js/ladda.js"></script>

    <script src="../js/jquery-ui-1.8.20.custom.js"></script>
    <script src="../js/codemirror.js"></script>
    <!-- <script src="../js/handlebars-1.3.js"></script> -->
    <script src="../js/emmet.js"></script>
    <script  src="../js/jshint-2.6.min.js"></script>
    <script  src="../js/jstorage.js"></script>

    <script src="../js/05-util.js"></script>
    <script src="../js/03-http.js"></script>
    
    <script  src="../js/jquery.validationEngine.js"></script>
    <script  src="../js/jquery.validationEngine-zh.js"></script>
    <script  src="../js/jquery.isotope.js"></script>

    <link rel="stylesheet" href="../css/demo.css">
    <script type="text/javascript" src="../js/zTree_v3-3.5.27/js/jquery.ztree.core.js"></script>
    <script type="text/javascript" src="../js/zTree_v3-3.5.27/js/jquery.ztree.exedit.js"></script>
    <script src="../js/gb.js"></script>
    <!-- <script src="../js/gbreplayer.js"></script> -->

    <script src="../js/gbdebug/mode/xml/xml.js"></script>
    <script src="../js/gbdebug/mode/javascript/javascript.js"></script>
    <script src="../js/gbdebug/mode/css/css.js"></script>
    <script src="../js/gbdebug/mode/htmlmixed/htmlmixed.js"></script> 
    <script src="../js/gbdebug/mode/clike/clike.js"></script> 
    <script src="../js/gbdebug/mode/php/php.js"></script> 
    <script src="../js/gbdebug/mode/python/python.js"></script> 
    <style type="text/css">
        #recordzone,
        #replayzone{
            display: none;
        }
        #recordzone.active,
        #replayzone.active{
            display: block;
        }
        .editor{
            height: 100%;
            float: left;
            position: relative;
        }
    </style>
</head>
<body>
    <div id="app" class="wrapper">
        <div id="appContainer">
            <div class="editor">
                <div id="appLeft">
                    <div class="tree-header">目录</div>
                    <ul id="folder" class="ztree"></ul>
                    <div id="handleLM"></div>
                </div>
                <div id="appMian">
                    <div id="appMainHeader">
                        <ul id="recordertab" class="nav nav-tabs pull-left">
                            <li class="active"><a href="#recordzone" data-toggle="tab"><i class="icon iconfont icon-suspend"></i>课程录制区</a></li>
                            <li><a href="#replayzone" data-toggle="tab"><i class="icon iconfont icon-yulan"></i>课程预览区</a></li>
                        </ul>
                        <div id="editorwrapper" class="pull-right">
                            <div class="btn-group">
                                <div id="htmlbutton" class="btn btn-default btn-sm" data-toggle="tooltip" data-placement="bottom" data-original-title="当前课程环境:Java" data-editorname="html">JAVA</div>
                                <div class="btn btn-default btn-sm" data-toggle="tooltip" data-placement="bottom" data-original-title="JDK版本">JDK 7</div>
                            </div>
                        </div>
                    </div>
                    <div id="textarea">
                        <div id="recordzone" class="active"></div>
                        <div id="replayzone"></div>
                    </div>
                    <div id="handleMR"></div>
                </div>
                <div class="pause-shodow hidden">
                    <div class="compile-loading">
                        <img src="../img/loading.png" alt="">
                    </div>
                    <div class="compile-reslut" style="display: none;">
                        <div class="tip-header">
                            <span>成功获取编译运行结果</span>
                        </div>
                        <div class="tip-content">
                            <p>保存编译结果后,播放到此处会在运行区域直接显示结果。需要保存结果后继续录制吗?</p>
                        </div>
                        <div class="tip-footer">
                            <button class="btn btn-success btn-sm" id="save_compile">保存并继续录制</button>
                            <button class="btn btn-danger btn-sm" id="cancel_compile">不保存继续录制</button>
                        </div>
                    </div>
                </div>
            </div>
            
            <div id="appRight">
                <div id="resultpanel" class="panel panel-default editor-result">
                    <div class="panel-heading result-header">
                        <div class="pull-left">
                            <div id="compileBtnGroup" class="btn-group"></div>
                        </div>
                        <div class="pull-right">
                            <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>
                            <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>
                        </div>
                        <div class="btn-group">
                            <button type="button" class="btn btn-success" id="play" data-status="0" title="" style="display: none;"><</button>
                            <!-- <p id="replay">预览录制</p> -->
                        </div>
                        <!-- <div class="btn-group pull-right" id="fontendrun">
                            <button id="autorun" type="button" class="btn" title="切换自动/手动运行代码" data-placement="bottom" data-autorun="1"></button> 
                            <button id="runnow" type="button" class="btn" title="手动运行代码" data-placement="bottom" disabled="disabled">
                                自动运行
                            </button>
                        </div> -->
                    </div>
                    <div class="panel-body hidden" id="cmprun-output">
                        <div id="resultoutput">
                            <!-- Nav tabs -->
                            <ul class="nav nav-tabs result-tabs" role="tablist" id="cmprun-tabs">
                                <li class="active"><a href="#stdin" role="tab" data-toggle="tab" class="text-warning">标准</a></li>
                                <li><a href="#cmpinfo" role="tab" data-toggle="tab" class="text-warning">编译</a></li>
                                <li><a href="#stderr" role="tab" data-toggle="tab" class="text-danger">错误</a></li>
                                <li><a href="#output" role="tab" data-toggle="tab" class="text-success">结果</a></li>
                            </ul>
                            <!-- Tab panes -->
                            <div class="tab-content">
                                <div class="tab-pane active padall15" id="stdin">
                                    <input type="text" class="form-control" id="runtimeArgus" placeholder="标准输入">
                                </div>
                                <div class="tab-pane padall15" id="cmpinfo"></div>
                                <div class="tab-pane padall15" id="stderr"></div>
                                <div class="tab-pane padall15" id="output"></div>
                            </div>
                        </div>
                    </div>
                    <div class="panel-body" id="ifrcontainer">
                        <iframe id="resultiframe" frameBorder="0" width="100%"></iframe>
                    </div>
                </div>
            </div>
        </div>
        <div id="appFooter">
            <!-- 录音控制条 -->
            <input type="hidden" class="audio-url" value="">
            <div class="recording-ctrl-bar">
                <button id="start-recording" class="btn new-recording" type="button" data="1" title="开始录制"></button>
                <button id="re-recoding" class="btn new-recording" type="button" data="1" title="重新录制" style="display: none;"></button>
                <button class="btn pause-recording hidden" id="pause" data-status='0' title="录制暂停中">
                    <img src="../img/pause.svg" alt="">
                </button>

                <button class="audio-play hidden" title="播放预览" data="1">
                    <i class="icon iconfont icon-play"></i>
                </button>
                <div class="recording-time" id="timer" value="">00:00:00</div>
                <div class="audio-view" style="display: none;">
                    <audio id="audio"></audio>
                </div>
                <div class="save-wrap">
                    <input type="button" id="upload" class="upload-teach" disabled="disabled" value="保存">
                    <input type="button" id="savecorde" class="upload-stud" style="display: none;" disabled="disabled" value="保存">
                    <input type="button" id="cancel" value="关闭">
                </div>
            </div>
        </div>
    </div>
    <!--  -->
    <div class="upload-tip" style="display: none;">
        <img src="../img/upload_tip.png" alt="">
    </div>
    
    <div class="confirm-tip">
        <div class="compile-reslut" style="display: ;">
            <div class="tip-header">
                <span>提示</span>
            </div>
            <div class="tip-content">
                <p>在开始录制之前可对文件名进行修改,开始录制后文件名将不可修改。</p>
            </div>
            <div class="tip-footer">
                <button class="btn btn-success btn-sm" id="confirm">确定</button>
            </div>
        </div>
    </div>

    <!-- 准备开始 -->
    <div id="countdown" style="display: none;">
        <img src="" alt="">
    </div>
    
    <!-- 重新开始 -->
    <div class="re-tips" style="display: none;">
        <div class="re-reslut">
            <div class="tip-header">
                <span>提示</span>
            </div>
            <div class="tip-content">
                <p>你确定要重新录制吗?</p>
            </div>
            <div class="tip-footer">
                <button class="btn btn-success btn-sm" id="re-sure">确定</button>
                <button class="btn btn-danger btn-sm" id="re-cancel">取消</button>
            </div>
        </div>
    </div>
    

    <script src="../js/recorder/Myna.js"></script>
    <script src="../js/recording/recording.js"></script>

    <script>
    $(function () {
        $('[data-toggle="tooltip"]').tooltip()
    })
    var recorder;
    var _role = getQuery('role');
    var _chapterId = getQuery('chapterId');
    var userId = getQuery('userId');

    var audio = document.querySelector('audio');
    var saveAudio = document.getElementById("save");

 
    // 结束播放事件
    audio.addEventListener("ended", function() {
        console.info('audio.addEventListener("ended"');
        console.log('audio 播放结束');
        Hourglass.stopTimer();
        $('.audio-play').attr('data', '1')
        $('.audio-play').prop('disabled', false);
    }, false);

    $('#upload').click(function(){
        uploadAudio()
    })

    function uploadAudio() {
        $('.upload-tip').show();
        recorder.upload();
    }
    </script>
</body>
</html>