Javascript 如何使用jQueryUI滑块控制web音频API振荡器参数,而无需查看HTML表单参数?
我一直在使用JQuery UI滑块通过web audio API控制振荡器参数,但我一直在这样做,首先创建一个对应的HTML范围滑块,然后隐藏它,然后使用JQuery滑块控制范围滑块,范围滑块反过来控制相应的振荡器参数。我想知道是否/如何通过JQuery滑块直接控制振荡器参数的方式来实现这一点Javascript 如何使用jQueryUI滑块控制web音频API振荡器参数,而无需查看HTML表单参数?,javascript,web-audio-api,Javascript,Web Audio Api,我一直在使用JQuery UI滑块通过web audio API控制振荡器参数,但我一直在这样做,首先创建一个对应的HTML范围滑块,然后隐藏它,然后使用JQuery滑块控制范围滑块,范围滑块反过来控制相应的振荡器参数。我想知道是否/如何通过JQuery滑块直接控制振荡器参数的方式来实现这一点 从sliderParams回调中设置振荡器.frequency.value,此时您正在将值分配给html滑块(替换pitchInput.value=ui.value) 请参阅:(我没有设置初始振荡器值,
从sliderParams回调中设置振荡器.frequency.value,此时您正在将值分配给html滑块(替换pitchInput.value=ui.value) 请参阅:(我没有设置初始振荡器值,但移动滑块会更新它)
您可以为您的代码提供一个;它不会造成混乱,而且会帮助我们更好地理解您的问题。谢谢,我确实尝试了您在发布之前给出的解决方案,但我忘记了将整个问题包装在$function(){})中;按您的推断编写代码。
$(function(){
context = new webkitAudioContext();
var pad1 = document.getElementById("pad1");
pad1.onmousedown= function () {
var pitchState = document.getElementById('oscPitch1').value;
oscillator = context.createOscillator(), // Creates the oscillator
oscillator.type = 2;
oscillator.frequency.value = pitchState;
oscillator.connect(context.destination); // Connects it to output
oscillator.noteOn(0);
};
pad1.onmouseup = function () {
oscillator.disconnect();
};
});
var pitchInput = document.getElementById("oscPitch1");
var sliderParams = {
'orientation': "vertical",
'range': "min",
'min': .5,
'max': 100,
'animate': true,
'step': 0.01,
'slide': function(event, ui) {
pitchInput.value = ui.value; // This remote controls the input slider
},
stop: function( event, ui ) {}
};
$('#sliderOne').slider(sliderParams);
$(function(){