player.js 2.65 KB
$(function(){
    var _languageid = getQuery('languageid');
    var _userId = getQuery('userId');
    var _role = getQuery('role');
    var _codeReplayId = getQuery('codeReplayId');
    var player = $.AudioPlayer;

    $("title").html("C 语言");
    // new一个基本IDE结构
    var ide = new GxbIde({
        el: '#folder',
        languageid: parseInt(_languageid)
    });

    // 编译控制台
    var iterm = new Iterm({
        userId: _userId,
        languageId: _languageid
    });

    console.log(_role)
    if (_role == 0) {
        playUrl = gxb_api + "/programming/codeReplay/" + _codeReplayId + "/api";
        getCodeData(playUrl)
    } else if (_role == 1) {
        playUrl = gxb_api + "/programming/student/studentReplay/" + _codeReplayId + "/api";
        getCodeData(playUrl)
    }




    // 获取code
    function getCodeData(url){
        console.log(url)
        $.ajax({
            type: "get",
            url: url,
            dataType: "json",
            contentType: "application/json",
            success: function(res) {
                console.log('++++++++--------');
                console.log(res)
                var coderecords = res.codeRecordList
                var audioUrl = res.audioUrl;

                initTrigger(coderecords)
                AudioPlayer(audioUrl)
            },
            error: function(error) {
                console.log(error)
            }
        });
    }

    // 初始化tigger
    function initTrigger(records){
        var records = records
        for (var i = 0, leg = records.length; i < leg; i++) {
            if (!records[i].trigger) records[i].trigger = 0;
            records[i].changeobj = jQuery.parseJSON(records[i].changeobj);
            records[i].treefile = jQuery.parseJSON(records[i].treefile);
        }
        CodingEditer.records = records;
    }

    // 初始化播放音频控制条
    function AudioPlayer(audioUrl){
        player.init({
            container: '#audioWrap',
            source: "https://gxb-file.oss-cn-beijing.aliyuncs.com" + audioUrl,
            imagePath: '../js/audioPlayer/image',
            debuggers: false,
            allowSeek: false,
            playCallback: function() { // 播放
                console.log('++++++++');
                CodingEditer.playCoding();
            },
            pauseCallback: function() { // 暂停
                CodingEditer.audioTime = parseInt(player.elements.audioDom.currentTime*1000);
                CodingEditer.pauseCode();
            },
            seekedCallback: function() { // 拖拽
            }, 
            endedCallback: function() { // 结束播放
                playEnd()
            }
        });
    }


})