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/