在另一个声音的某个点播放声音

时间:2013-02-12 14:09:44

标签: javascript html audio

 var audioElm3 = document.getElementById('player');
        if (audioElm3.currentTime === "115") {
            document.getElementById('coverBirds').play();
            console.log("firing");
        };

因此,目的是在“播放器”声音运行期间的某个点播放声音“coverBirds”。问题是,当我加载页面时没有任何反应,也没有任何东西出现在控制台上,奇怪的是。这些都是HTML5音频元素。我希望能解释得够吗?

1 个答案:

答案 0 :(得分:0)

您需要将javascript连接到document.getElementById('player')的timeupdate事件

document.getElementById('player').ontimeupdate = function(){
//CODE GOES HERE
}

只要currentTime指示的时间发生变化,此事件就会触发,允许您与所需的115秒进行比较,然后触发coverBirds音频元素。注意currentTime几乎永远不会返回一个很好的整数,并且将currentTime的输出记录到控制台的示例是

  

日志:0
  日志:0.23746030032634735
  日志:0.4874148964881897
  日志:0.7374603152275085
  日志:0.9872788786888123
  日志:1.2373242378234863
  日志:1.4874602556228637

您需要相应地调整if语句中的逻辑,以便将从currentTime接收的值四舍五入,或者提供一个开始在其中播放的范围。

timeupdate event @ MDN