3

我正在寻找一种将音量增加到 100% 以上的方法。我有一些视频,其中 html5 的最大音量为 100% 有点低。有什么可以使最大音量达到 200% 或定义 100% 的分贝水平吗?

4

2 回答 2

4

确实,您不能将视频标签或音频标签的实际音量属性设置为高于 1,但您可以使用 Web Audio API 将音量设置为正常音量的两倍,从而有效地将音量加倍:

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/

于 2017-08-18T13:40:56.843 回答
0

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].
于 2016-01-07T03:01:01.523 回答