Вы можете даже поиграть с коэффициентом усиления и громкостью громче, чем 100%. Вы можете использовать эту функцию для усиления звука:
function amplifyMedia(mediaElem, multiplier) {
var context = new (window.AudioContext || window.webkitAudioContext),
result = {
context: context,
source: context.createMediaElementSource(mediaElem),
gain: context.createGain(),
media: mediaElem,
amplify: function(multiplier) { result.gain.gain.value = multiplier; },
getAmpLevel: function() { return result.gain.gain.value; }
};
result.source.connect(result.gain);
result.gain.connect(context.destination);
result.amplify(multiplier);
return result;
}
Вы могли бы сделать что-то подобное, чтобы установить начальное усиление до 100%:
var amp = amplifyMedia(sounds[id], 1);
Тогда, если вам нужен звук, чтобы быть в два раза громче вы могли бы сделать что-то вроде этого:
amp.amplify(2);
Если вы хотите, чтобы половину его вы можете сделать это:
amp.amplify(0.5);
Полный подправить функции можно найти здесь: http://cwestblog.com/2017/08/17/html5-getting-more-volume-from-the-web-audio-api/
Возможный дубликат http://stackoverflow.com/questions/1933969/sound-effects-in-javascript-html5 – coder
Это не я верить. – corazza