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

所以目的是在“播放器”声音运行期间的某个时间点播放声音“coverBirds”。问题是,当我加载页面时没有任何反应,而且控制台上也没有显示任何内容,奇怪的是。这些都是 HTML5 音频元素。我希望这足以解释它?

4

1 回答 1

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.2373242378234863255626
日志:1.48726

您将需要相应地调整 if 语句中的逻辑,以舍入您从 currentTime 收到的值或提供开始播放的范围。

时间更新事件@MDN

于 2013-02-12T14:19:49.237 回答