使用范围滑块调整音频标签的音量时出错

问题描述 投票:0回答:1

使用范围滑块调整标签的音量时,出现未捕获的 DOMException:索引或大小为负数或大于允许的量。

我尝试使用此代码:

function ppayVolume(){
        var volSlider = document.getElementById("volume");
    var realplayerEL = document.getElementById("real-player");
    var volVAL = document.getElementById("volume").value    
    realplayerEL.volume = volVAL
    console.log(volVAL)

但它不起作用并显示错误。

javascript html html5-audio
1个回答
0
投票

您遇到的错误,未捕获的 DOMException:索引或大小为负数或大于允许的数量,通常在您尝试将 HTML

<audio>
<video>
元素的音量属性设置为外部值时发生有效范围,介于 0.0 和 1.0 之间。

在将滑块设置为音量之前,您需要将滑块的值从

0-100
缩放到
0.0-1.0

function ppayVolume(){
    var volSlider = document.getElementById("volume");
    var realplayerEL = document.getElementById("real-player");

    // Get the slider value (assuming it's 0-100)
    var volVAL = volSlider.value;

    // Scale the value to 0.0 - 1.0
    var scaledVolume = volVAL / 100;

    // Set the volume, ensuring it's within the valid range
    realplayerEL.volume = Math.min(Math.max(scaledVolume, 0.0), 1.0);

    // Optional: Log the scaled value
    console.log(scaledVolume);
}
© www.soinside.com 2019 - 2024. All rights reserved.