[英]Ring modulation using web audio api - javascript
我想问一下是否有人可以使用 javascript 帮助我进行环形调制
这是我的代码。 我不确定我这样做是否正确。 在开始按钮上,它只播放带增益的振荡器。 不与音频文件混合。
我试过做这样的事情GitHub source
谢谢
function audioFileLoader(fileDirectory, impulseFileDirectory) {
var audioContext = new AudioContext();
var soundObj = [];
soundObj.fileDirectory = fileDirectory;
soundObj.impulseFileDirectory = impulseFileDirectory;
// buffer loader code
var getSound = new XMLHttpRequest();
getSound.open("GET", soundObj.fileDirectory, true);
getSound.responseType = "arraybuffer";
getSound.onload = function() {
audioContext.decodeAudioData(getSound.response, function(buffer) {
soundObj.soundToPlay = buffer;
});
}
getSound.send();
soundObj.play = function() {
var source = audioContext.createBufferSource();
source.buffer = soundObj.soundToPlay;
var oscillator = audioContext.createOscillator();
oscillator.type = 'sine';
oscillator.frequency.value = 500;
var gainNode = audioContext.createGain();
gainNode.gain.value = 0.5;
oscillator.connect(gainNode);
source.connect(gainNode);
gainNode.connect(audioContext.destination);
oscillator.start(audioContext.currentTime);
};
return soundObj;
};
var example = audioFileLoader("audio/AcGtr.wav");
document.getElementById('ringmodulation').addEventListener("click", example.play,
false);
您的代码从不播放缓冲区源,它缺少source.start()
。 另外var soundObj = []
应该是var soundObj = {}
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.