Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript从json更新音频源_Javascript_Html_Json_Audio_Mobile - Fatal编程技术网

使用javascript从json更新音频源

使用javascript从json更新音频源,javascript,html,json,audio,mobile,Javascript,Html,Json,Audio,Mobile,我已经看到了很多方法,但是我很难在我想要的代码中实现它。我正在修改别人的(开源)代码,我想我迷路了。我想为问题列表中的每个问题播放一段声音片段,并提出一个与该文件相关的问题。我一直在写,所以我不会发布我糟糕的代码,而是发布干净的javascript并请求指针。理想情况下,我希望它出现在json中,并通过html进行更新,但它不起作用 $(document).ready(function () { var questionNumber=0; var questionBank=new

我已经看到了很多方法,但是我很难在我想要的代码中实现它。我正在修改别人的(开源)代码,我想我迷路了。我想为问题列表中的每个问题播放一段声音片段,并提出一个与该文件相关的问题。我一直在写,所以我不会发布我糟糕的代码,而是发布干净的javascript并请求指针。理想情况下,我希望它出现在json中,并通过html进行更新,但它不起作用

$(document).ready(function () {
    var questionNumber=0;
    var questionBank=new Array();
    var stage="#game1";
    var stage2=new Object;
    var questionLock=false;
    var numberOfQuestions;
    var score=0;

    $.getJSON('activity.json', function(data) {
        for(i=0;i<data.quizlist.length;i++){ 
            questionBank[i]=new Array;
            questionBank[i][0]=data.quizlist[i].question;
            questionBank[i][1]=data.quizlist[i].option1;
            questionBank[i][2]=data.quizlist[i].option2;
            questionBank[i][3]=data.quizlist[i].option3;
        }
        numberOfQuestions=questionBank.length;       
        displayQuestion();
    })//gtjson

    function displayQuestion() {
        var rnd=Math.random()*3;
        rnd=Math.ceil(rnd);
        var q1;
        var q2;
        var q3;
        if(rnd==1 {
            q1=questionBank[questionNumber[1];
            q2=questionBank[questionNumber[2];
            q3=questionBank[questionNumber][3];
        }

        if(rnd==2) {
            q2=questionBank[questionNumber][1];
            q3=questionBank[questionNumber][2];
            q1=questionBank[questionNumber][3];
        }

        if(rnd==3) {
            q3=questionBank[questionNumber][1];
            q1=questionBank[questionNumber][2];
            q2=questionBank[questionNumber][3];
        }

        $(stage).append('<div class="questionText">'+questionBank[questionNumber][0]+'</div><div id="1" class="option">'+q1+'</div><div id="2" class="option">'+q2+'</div><div id="3" class="option">'+q3+'</div>');

        $('.option').click(function() {
            if(questionLock==false) {
                questionLock=true;  
                //correct answer
                if(this.id==rnd) {
                    $(stage).append('<div class="feedback1">CORRECT</div>');
                    score++;
                }
                //wrong answer  
                if(this.id!=rnd) {
                    $(stage).append('<div class="feedback2">WRONG</div>');
                }
                setTimeout(function(){changeQuestion()},1000);
            }
        })
    }//display question

    function changeQuestion() {     
        questionNumber++;

        if(stage=="#game1") {
            stage2="#game1";
            stage="#game2";
        } else {
            stage2="#game2";
            stage="#game1";
        }
        if(questionNumber<numberOfQuestions {
            displayQuestion();
        } else {
            displayFinalSlide();
        }

        $(stage2).animate({"right": "+=800px"},"slow", function() {
            $(stage2).css('right','-800px');
            $(stage2).empty();
        });
        $(stage).animate({"right": "+=800px"},"slow", function() {
            questionLock=false;
        });
    }//change question

    function displayFinalSlide() {      
        $(stage).append('<div class="questionText">You have finished the quiz!<br><br>Total questions: '+numberOfQuestions+'<br>Correct answers: '+score+'</div>');

    }//display final slide  
});//doc ready
$(文档).ready(函数(){
变量编号=0;
var questionBank=新数组();
var stage=“#游戏1”;
var stage2=新对象;
var-questionLock=false;
var问题;
var得分=0;
$.getJSON('activity.json',函数(数据){

for(i=0;iFor reference
Ctrl-K
(使用移动键盘应该仍然很容易)是一种简单的缩进方式。您的问题标题可能有点误导,或者至少与正文不一致。您是在实际尝试“上传录音”还是只是尝试“为每个列表成员播放文件”?如果是后者,则“档案在哪里?"。有点常识的话,音频会有单独的URL,只列出URL。让正常的浏览器功能处理检索和播放。我在html中添加了播放功能,我希望它播放离线存储的文件。但是我希望每个声音文件都与每个问题相关联。将两者关联在一起是我遇到的问题。F或者reference
Ctrl-K
(使用移动键盘应该仍然很容易)是一种简单的缩进方式。您的问题标题可能有点误导,或者至少与正文不一致。您是否确实在尝试“上传录音”?或者您只是在尝试“为每个列表成员播放文件”?如果是后者,则“档案在哪里?“。有点常识的话,音频会有单独的URL,只列出URL。让正常的浏览器功能处理检索和播放。我在html中添加了播放功能,我希望它播放离线存储的文件。但我希望每个声音文件都与每个问题关联。将两者关联在一起是我遇到的问题。