Я проигрываю аудиофайл html5, в котором есть алгоритм обработки для определения громкости. В первый раз играю нормально. Когда я играю во второй раз, похоже, что он добавляет дублированный звук, который воспроизводится одновременно. Что дублируется?
<audio id="audio1" controls preload="auto" src="test.mp3"></audio>
var context1 = new AudioContext();
audio1.addEventListener('playing',function() {
var source = context1.createMediaElementSource(audio1);
var processor = context1.createScriptProcessor(2048,1,1);
processor.onaudioprocess = process;
source.connect(processor);
processor.connect(context1.destination);
});
function process(e) {
var buffer = e.inputBuffer.getChannelData(0);
var out = e.outputBuffer.getChannelData(0);
var amp = 0;
// Iterate through buffer to get max amplitude
for (var i = 0; i < buffer.length; i++) {
var loud = Math.abs(buffer[i]);
if(loud > amp) {
amp = loud;
}
// write input samples to output unchanged
out[i] = buffer[i];
}