Javascript 使用周期时间调用Audioparam方法

Javascript 使用周期时间调用Audioparam方法,javascript,web-audio-api,Javascript,Web Audio Api,我希望定期调用AudioParam方法“atTime”,以便在播放音频循环时定期调用它们。因此,例如,在方法linearrantovalueattime()中,我只能指定一个给定的时间,而不能指定一段时间。有办法吗 我需要它来做一个循环,在循环中,我在结尾用GainNode淡出,然后在开始时再次淡入。您可以根据自己喜欢的时间将AudioParams安排到未来 差不多 用于(时间=0;时间

我希望定期调用AudioParam方法“atTime”,以便在播放音频循环时定期调用它们。因此,例如,在方法linearrantovalueattime()中,我只能指定一个给定的时间,而不能指定一段时间。有办法吗


我需要它来做一个循环,在循环中,我在结尾用GainNode淡出,然后在开始时再次淡入。

您可以根据自己喜欢的时间将AudioParams安排到未来

差不多


用于(时间=0;时间<结束时间;时间+=间隔){
//淡出
增益。增益。设置目标时间(0,时间,时间常数);
//淡入
增益。增益。设置目标时间(1,时间+衰减时间,时间常数);
}


这将使信号在时间
interval*k
秒时淡出,并在时间
interval*k+fadeInTime
时淡入,谢谢。问题是,我计划允许循环暂停,所以每次暂停和播放时,我都应该重新计算fadeInTime,如果暂停,会导致一些问题。您必须更详细地描述您想要的内容。我不知道你所说的“在……暂停中引起一些问题”是什么意思。对不起,它是不完整的:“在‘衰退区’暂停的情况下”。如果我们在“时间”和“fadeInTime”之间的给定时间内暂停。当我们再次比赛时,我们如何恢复衰退?我们可以计算出那一刻的收益。但是我认为应该有一个更简单的方法来解决这个问题(我恐怕没有)对不起,我仍然不知道你想做什么。如果你又开始玩了,为什么要恢复淡出状态?现在你必须自己计算收益。但是,如果cancelScheduledValues()被指定为cancel并保持,那么这可能对您有用。这是一个与问题不同的问题。假设你编程了一个从4秒到6秒的淡出。如果在第5秒按暂停,则在按播放时希望继续淡出。但是setTargetAtTime将不起作用,因为时间是相对于audioContext.currentTime的,无论音频是播放还是暂停,它都将继续计数。所以你需要自己重新计算一切。