我有一个以我不喜欢的方式表现的功能,我无法确定原因。整体功能工作正常,当使用界面中其他地方的范围元素更改音量时,也可以。但是,如果我将localStorage中的对象设置为" 0.6"它将以正确的音量播放,但每隔一段时间它的行为就好像音量是" 1"或默认(我认为)。我将变量发送到我的控制台,看看它说的是什么,它的行为就像没有错。音频有时会给我默认音量,即使控制台说它存储在LS中的正确数字。
这是发出刺耳声音的函数的JS:
biteFunc: function () {
var snd, myAu;
myAu = localStorage.getItem("Au");
//the user uses a range input to set this value, works fine
snd = new Audio("../Audio/bite.wav");
//the file in the location i want it to be, works fine
if (!myAu || myAu === "0") {
return false;
//if the user sets the sound to "0", the function will not fire
}
if (myAu) {
snd.volume = myAu;
snd.play();
/*this works and the console shows that each time the sound is fired,
the correct volume is there. But sometimes(especially when tapping
the button quickly) the volume behaves like its default or "1"
even though the object console says the right volume
*/
}
}
- 我的功能是在没有读取音量的情况下触发并在发生这种情况时吐出默认音量? - 我认为这是一个时间轴问题,所以我设置了检测myAu的条件内的音量,但仍然没有。