У меня есть два монофонических аудиопотока (mp3-файлы), которые я хочу воспроизводить параллельно, правый .mp3 должен звучать только на правом канале (динамик), а левый .mp3 только на левом канале (динамик).Как я могу это сделать?Я уже попробовал слияние, смотрите ниже.
var contextL = new AudioContext() || new webkitAudioContext(),
requestL = new XMLHttpRequest();
requestL.open("GET", "./left.mp3", true);
requestL.responseType = "arraybuffer";
requestL.onload = function(){
contextL.decodeAudioData(requestL.response, onDecodedL);
}
var contextR = new AudioContext() || new webkitAudioContext(),
requestR = new XMLHttpRequest();
requestR.open("GET", "./right.mp3", true);
requestR.responseType = "arraybuffer";
requestR.onload = function(){
contextR.decodeAudioData(requestR.response, onDecodedR);
}
function onDecodedL(buffer){
var bufferSourceL = contextL.createBufferSource();
bufferSourceL.buffer = buffer;
var splitterL = contextL.createChannelSplitter(2);
bufferSourceL.connect(splitterL);
var mergerL = contextL.createChannelMerger(2);
var gainL = contextL.createGain();
gainL.value = 0;
splitterL.connect(gainL, 0);
bufferSourceL.start();
}
function onDecodedR(buffer){
var bufferSourceR = contextR.createBufferSource();
bufferSourceR.buffer = buffer;
var splitterR = contextR.createChannelSplitter(2);
bufferSourceR.connect(splitterR);
var mergerR = contextR.createChannelMerger(2);
var gainR = contextR.createGain();
gainR.value = 0;
splitterR.connect(gainR,1);
bufferSourceR.start();
}