gpt4 book ai didi

javascript - 为什么不能使用振荡器的递归 onended 属性来创建音乐音序器?

转载 作者:行者123 更新时间:2023-11-30 16:09:03 25 4
gpt4 key购买 nike

我很好奇为什么振荡器 onended 方法不能用于创建音乐音序器以及为什么使用“two clocks”方法更好。

这是我的想法的粗略(有点工作)代码草图。

var x = oscillator.onended = function() {
oscillator = audioContext.createOscillator();
oscillator.frequency.value = 0;
oscillator.connect(audioContext.destination);
oscillator.start(audioContext.currentTime);
oscillator.stop(audioContext.currentTime + 0.000001);


oscillator.onended = function() {

if (Math.abs(item - audioContext.currentTime) >= 1) {
if (tick === 8) {
tick = 1;

} else {
item = audioContext.currentTime;
tick += 1;
sounds.kick.play();
}


}



x()


}
}

最佳答案

这可能无法完全按照您的意愿工作,因为您不能确切地依赖 onended 何时被触发。在一个振荡器停止和下一个振荡器开始之间可能会有一个随机间隙。

关于javascript - 为什么不能使用振荡器的递归 onended 属性来创建音乐音序器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36552759/

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