gpt4 book ai didi

javascript - 音量超出范围

转载 作者:行者123 更新时间:2023-11-30 11:10:35 25 4
gpt4 key购买 nike

我的控制台日志抛出以下错误:

Uncaught DOMException: Failed to set the 'volume' property on 'HTMLMediaElement': The volume provided (1.005) is outside the range [0, 1].

任何人都可以向我解释一下如何解决这个问题吗?任何帮助表示赞赏!谢谢。

代码:

// Fade out/in functions for music player

function audio_fade_out(){
var timer,
myAudio = document.getElementById("musicPlayer");
if (myAudio.volume > 0) {
myAudio.volume -= 0.003;
timer = setTimeout(audio_fade_out,0);
console.log(myAudio.volume);
}
}

function audio_fade_in(){
var timer,
myAudio = document.getElementById("musicPlayer");
if (myAudio.volume < $audio_volume) {
myAudio.volume += 0.005;
timer = setTimeout(audio_fade_in,10);
console.log(myAudio.volume);
}
}

最佳答案

对于 audio_fade_out(),有可能低于 0。如果 myAudio.volume0.001,这通过了 > 0 的测试,但您仍然从中减去 0.003

audio_fade_in() 中,谁知道呢,因为您没有向我们展示 $audio_volume 是什么。

按照您的方法,您要做的是将音量设置为 Math.max(myAudioVolume - 0.003, 0) 以将值限制在 0< 或以上。对 audio_fade_in() 进行逆运算... Math.min(myAudioVolume + 0.005, 1)

不过,您真正应该做的是使用 Web Audio API 并增加 GainNodegain 参数。这样听起来会顺畅得多。

https://developer.mozilla.org/en-US/docs/Web/API/AudioParam/exponentialRampToValueAtTime

关于javascript - 音量超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53888402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com