几年前已经发布了该文档,但仍未解决。我确定要制作一些可以以150%的音量播放视频的东西,但是HTML5的音量方法会出现错误,且其值大于1。
https://www.w3schools.com/tags/av_prop_volume.asp

这是我的代码:

javascript:(function(){document.getElementsByTagName('video')[0].volume = 1.5;}());

0.5有效,但1.5不起作用。一个答案说它给出了这个错误:
Uncaught DOMException: Failed to set the 'volume' property on 'HTMLMediaElement': The volume provided (2) is outside the range [0, 1].

无论如何,我可以对此异常执行某些操作以使其超出[0,1]范围?

最佳答案

视频音量是介于0和1之间的百分比,不能超过100%。

可能会发生这种情况的唯一方法是将音频从视频播放器路由到Web Audio API并在那里进行放大。

https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createMediaElementSource

// create an audio context and hook up the video element as the source
var audioCtx = new AudioContext();
var source = audioCtx.createMediaElementSource(myVideoElement);

// create a gain node
var gainNode = audioCtx.createGain();
gainNode.gain.value = 2; // double the volume
source.connect(gainNode);

// connect the gain node to an output destination
gainNode.connect(audioCtx.destination);

您可以从视频中获取音频上下文,然后通过增益节点运行它以提高音量或应用混响之类的音频效果。小心不要在增益节点上增加太多增益,否则已经掌握的音频将开始削波。

最后,您需要将增益节点连接到音频目标,以便它可以输出新的音频。

关于javascript - HTML5数量增长超过100%,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43794356/

10-13 05:17