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

Play a sound at a certain point in another sound

本文关键字:声音 一个 播放 另一个      更新时间:2023-09-26
 var audioElm3 = document.getElementById('player');
        if (audioElm3.currentTime === "115") {
            document.getElementById('coverBirds').play();
            console.log("firing");
        };

因此,目的是在"播放器"声音运行期间的某个点播放声音"coverBirds"。问题是,当我加载页面时,什么都没有发生,控制台上也没有显示任何内容,这很奇怪。这两个都是HTML5音频元素。我希望这就足够解释了?

您需要将javascript连接到document.getElementById('player')的时间更新事件

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

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

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

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

时间更新事件@MDN