gpt4 book ai didi

javascript - 用JS平滑增加间隔时间

转载 作者:行者123 更新时间:2023-11-30 11:37:55 26 4
gpt4 key购买 nike

如何按一定间隔播放声音(例如每秒播放一次)并逐渐减少间隔之间的时间

目前,我使用 setInterval 的两个间隔,第一个每秒播放一次声音,第二个 setInterval 每 20 秒加速第一个间隔。这行得通,但它在间隔之间留下了讨厌的“停顿”

有没有更好的办法?


示例代码(只是为了说明,不需要阅读):

var audio = new Audio('track.wav');
var baseSpeed = 1000;
var myInt;
var changeInt;

//Starts a Run
function beatInterval() {
audio.play();
};

//Speeds up the other interval
function speedUpInterval() {
baseSpeed = baseSpeed - 20
clearInterval(myInt);
myInt = setInterval(beatInterval, baseSpeed);
console.log(baseSpeed);


myInt = setInterval(beatInterval, baseSpeed);
changeInt = setInterval(speedUpInterval, 20000);

最佳答案

您可以延迟调整速度,直到真正执行间隔函数:

var speedChanged = false;
function beatInterval() {
if(speedChanged) {
speedChanged = false;
clearInterval(myInt);
myInt = setInterval(beatInterval, baseSpeed);
}
audio.play();
};

function speedUpInterval() {
baseSpeed = baseSpeed - 20
speedChanged = true;
console.log(baseSpeed);
}

关于javascript - 用JS平滑增加间隔时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43707400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com