Слайдер громкости HTML5 перейти на 200%

Я ищу способ увеличить громкость на 100%. У меня есть несколько видео, где громкость в html5, доведенная до 100%, довольно низкая. Есть ли что-нибудь, чтобы сделать максимальный объем 200% или определить уровень децибела, который равен 100%?

2 ответа

Это правда, что вы не можете установить фактическое свойство громкости видео-тега или аудио-тега выше 1, но вы можете использовать API-интерфейс Web Audio, чтобы громкость была в два раза выше, чем обычно, эффективно удваивая громкость:

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;
}

Функция должна быть довольно простой в использовании, но эта страница также дает более подробную информацию: http://cwestblog.com/2017/08/17/html5-getting-more-volume-from-the-web-audio-api/

Свойство громкости видео html5 может быть установлено только от 0 до 1 (то есть от 0 до 100 процентов):

http://www.w3schools.com/tags/av_prop_volume.asp

Установка вне этого диапазона приведет к ошибке. Например:

document.getElementsByTagName("video")[0].volume = 2;

результаты в

Uncaught DOMException: Failed to set the 'volume' property on 'HTMLMediaElement': The volume provided (2) is outside the range [0, 1].
Другие вопросы по тегам