检测音频文件播放或结束的时间

时间:2013-04-16 20:47:17

标签: jquery html5 audio

我已经问过一个与此非常相似的问题,但我无法获得建议的代码。 jquery是:

  jQuery("span").click(function (event) {
    var elementID = event.target.id;
    var oggVar = ("audio/"+elementID +".ogg");
    var audioElement = document.createElement("audio");
    audioElement.setAttribute("src", oggVar); 
    audioElement.play(); 
  });

这个工作正常,问题是即使播放另一个音频文件也能正常工作。我想阻止这种情况,以便在播放另一个音频文件时不会运行音频文件。很抱歉要重新访问此内容。

1 个答案:

答案 0 :(得分:1)

之前已经回答了这个问题,但是让我来看看。您将要检查是否正在播放任何音频片段。我不认为有一种isPlaying类型的内置逻辑,但我知道你可以使用事件监听器。

var audioIsPlaying = false;

jQuery("span").click(function (event) {
    if(audioIsPlaying != true) {
        var elementID = event.target.id;
        var oggVar = ("audio/"+elementID +".ogg");
        var audioElement = document.createElement("audio");
        audioElement.setAttribute("src", oggVar); 
        audioElement.play();
        audioIsPlaying = true;
        audioElement.addEventListener("ended", function() {
            audioIsPlaying = false;    
        });
    } else {
        //still playing
    }
});