使用<;时,.play()之后是否有jquery回调;音频>;?

使用<;时,.play()之后是否有jquery回调;音频>;?,jquery,audio,callback,Jquery,Audio,Callback,伙计们,我如何播放一个mp3文件,然后在第一个完成后再播放另一个 我试过下列方法,但没有成功 $('#file1)[0].play( function () { $('#file2)[0].play(); }); 播放音频时可以使用回调吗?您需要收听oneded事件。您一开始并不是在调用jQuery方法 您可以将事件处理程序附加到“oneded”事件: var file = $("#file1"); file.on( "ended", function(){ $("#file2

伙计们,我如何播放一个mp3文件,然后在第一个完成后再播放另一个

我试过下列方法,但没有成功

$('#file1)[0].play( function () {
   $('#file2)[0].play();
});

播放音频时可以使用回调吗?

您需要收听
oneded
事件。

您一开始并不是在调用jQuery方法

您可以将事件处理程序附加到
“oneded”
事件:

var file = $("#file1");

file.on( "ended", function(){
    $("#file2")[0].play();
});

file[0].play();
根据,您可以使用
oneded
事件来检测HTML5音频是否已播放完毕

在jQuery中:

$("#player").bind('ended', function(){
    // done playing
    alert("Player stopped");
});
有关演示,请参见:


音频播放完成后,您可以执行其余操作。

我使用@blasteralfred的代码创建了一个函数,使用jQuery播放无限系列的声音文件:

function playSounds(soundFileIds) {
  if (soundFileIds instanceof Array) {
    var soundFileId = soundFileIds.shift();
    playSound(soundFileId);
    $(soundFileId).bind('ended', function() {
      playSounds(soundFileIds);
    });
  } else {
    playSound(soundFileIds);
  }
}
数组的条件测试允许我将其向后移植到现有代码中,该代码只需一个字符串即可调用此函数。谢谢

可能重复的