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

标签 javascript html audio

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

因此,目的是在“播放器”声音运行期间的某个点播放声音“coverBirds”。问题是,当我加载页面时什么也没有发生,并且奇怪的是,控制台上也没有任何显示。这些都是HTML5音频元素。我希望这足以解释吗?

最佳答案

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

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

每当currentTime指示的时间更改时,将触发此事件,使您可以与所需的115秒进行比较,然后触发coverBirds音频元素。注意currentTime几乎永远不会返回一个很好的整数,并且将currentTime的输出记录到控制台的示例是

LOG: 0
LOG: 0.23746030032634735
LOG: 0.4874148964881897
LOG: 0.7374603152275085
LOG: 0.9872788786888123
LOG: 1.2373242378234863
LOG: 1.4874602556228637



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

timeupdate event @ MDN

关于javascript - 在另一声音的某个点播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14834466/

相关文章:

javascript - 将 javascript/css 插入跨不同域的 iframe

actionscript-3 - StandingWave3 中的重叠声音和削波

Javascript:显式抛出错误对象与不抛出错误对象之间的区别

javascript - 灯箱可以离线工作,但不能在线工作

javascript - 为什么附加输入字段提交不起作用?

jquery raty star size 属性不起作用

javascript - 使用 php 自动填充 html 表单

linux - 标记音频和 ogg

jQuery jPlayer 在 Safari 中首次运行后无法重播

javascript - 这是在 jquery 中显示多个带有延迟的 div 的有效方法吗?