Javascript 带有jQuery的播放列表

Javascript 带有jQuery的播放列表,javascript,jquery,dom,html5-audio,Javascript,Jquery,Dom,Html5 Audio,我有一个包含两首歌的播放列表,但每次播放时只播放第一首歌。我想不出这个问题。我正在尝试创建一个测验,每当用户点击错误的答案时,就会播放两首歌曲 我的代码: $(stage).append('<div id="play"><audio id="bg_audio"> <source src="../Voices/check_answer.ogg"></source> <source src="../Voices/good.ogg"

我有一个包含两首歌的播放列表,但每次播放时只播放第一首歌。我想不出这个问题。我正在尝试创建一个测验,每当用户点击错误的答案时,就会播放两首歌曲

我的代码:

$(stage).append('<div id="play"><audio id="bg_audio">
    <source src="../Voices/check_answer.ogg"></source>
    <source src="../Voices/good.ogg"></source></audio>
    </div>'); 
$('.pix').click(function() {
    if(questionLock==false) {
        if(this.id!=rnd) {
            $('#bg_audio').get(0).play();
        } else {
            questionLock=true;  
            setTimeout(function(){changeQuestion()},1000);
            $('.displayed', stage).addClass('hidden');
        }
    }})
}
$(stage).append('
'); 
$('.pix')。单击(函数(){
if(questionLock==false){
if(this.id!=rnd){
$('bg_audio').get(0.play();
}否则{
questionLock=true;
setTimeout(函数(){changeQuestion()},1000);
$('.displated',stage).addClass('hidden');
}
}})
}
您误解了标签的工作原理。它旨在以不同的格式提供相同的音频文件,而不是创建要播放的音频文件列表

如果只想播放音频而不显示控件,则可以使用,而不是创建HTML元素并将其附加到页面

//将文件列表作为参数。
常量播放列表=(…列表)=>{
//当列表为空时停止递归。
if(list.length==0)返回Promise.resolve()
返回新承诺((解决、拒绝)=>{
//从列表中的第一项创建新的音频元素。
const audio=新音频(list.shift())
//在文件结束播放后解决承诺。
addEventListener('ended',()=>resolve(…list))
//如果文件未能加载,则拒绝承诺。
audio.addEventListener('error',()=>reject('Resource failed to load'))
//播放音频。
音频播放
//继续递归播放列表的其余部分。
}).然后(播放列表)
}
//为简单起见,请播放同一文件两次。
播放列表(
'http://www.html5tutorial.info/media/vincent.mp3'
,'http://www.html5tutorial.info/media/vincent.mp3'

)
使用您提供的代码,我们也“无法解决问题”。请发布一个可以测试的代码。JSFIDLE也是一个很好的额外工具。其次,您是否可以尝试详细分析我们应该查看的代码的哪一部分?