[javascript] JS增强HTML媒体资源的音量
pre
有些页面声音总是太小,又不想调整系统音量,而video标签的volume
属性最高只能调到1。于是在网上找到了一个方案:
ref: https://atjiu.github.io/2021/05/10/video-above-1.0/
ref: https://cwestblog.com/2017/08/17/html5-getting-more-volume-from-the-web-audio-api/
code
function amplifyMedia(mediaElem, multiplier) {
const context = new (window.AudioContext || window.webkitAudioContext)
const result = {
context: context,
source: context.createMediaElementSource(mediaElem),
gain: context.createGain(),
media: mediaElem,
amplify: function (multiplier) { this.gain.gain.value = multiplier },
getAmpLevel: function () { return this.gain.gain.value }
}
result.source.connect(result.gain)
result.gain.connect(context.destination)
result.amplify(multiplier)
return result
}
usage
上面代码经过略微修改。实践中先找到目标<audio> / <video>
标签,然后将其作为amplifyMedia
的第一个参数,而音量放大倍数作为其第二个参数传入,在控制台执行即可,例如:amplifyMedia(elem, 6)
本文作者:心有所向,日复一日,必有精进
本文链接:https://www.cnblogs.com/Stareven233/p/18254443
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步