【发布时间】:2014-03-02 04:11:37
【问题描述】:
我正在用网络音频 API 做这个小实验,我希望垂直轴影响振荡器的增益值(见下面的小提琴)。我需要将画布顶部到画布底部之间的值缩放到 0 和 1 之间的值,以便 Y 轴上的 mousemove 事件可听地影响增益。我认为这是一个可以应用于任何数字范围的通用数学问题,但我只是不知道该怎么做。
var audioContext = new webkitAudioContext();
oscillator = undefined ;
$("#myCanvas").mousedown(function() {
var osc = audioContext.createOscillator();
gainNode = audioContext.createGainNode();
oscillator = osc;
oscillator.start(0);
});
$("#myCanvas").mouseup(function() {
oscillator.stop();
});
$("#myCanvas").mousemove(function(event) {
console.log(event.pageX);
console.log(event.pageY);
oscillator.type = "sawtooth";
gainNode.gain.value = (event.pageX);
oscillator.connect(gainNode);
gainNode.connect(audioContext.destination);
oscillator.frequency.value = event.pageX;
});
【问题讨论】:
标签: javascript math