javascript音频淡出

时间:2016-07-05 15:40:29

标签: javascript html audio fadeout

当我按下键盘上的“向上箭头”按钮时,我希望我的音频淡出并停止。它似乎淡出,然而,它再次出现,永不停止。

music.html:48 Uncaught IndexSizeError:无法在'HTMLMediaElement'上设置'volume'属性:提供的卷(-0.1)超出[0,1]范围。

我是Javascript的初学者。

这是我的代码。

HTML

lookAt

的Javascript

    <body>

<input type="text" size="3" value="1" id="numtext" style="font-size:500px" >

<audio id=1>
    <source src=BGM/a.mp3>
</audio>

<audio id=2>
    <source src=BGM/b.mp3>
</audio>

<audio id=3>
    <source src=BGM/c.mp3>
</audio>

</body>

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您的淡入淡出功能需要检查其分配的音量是否介于0和1之间。由于您只是将音量调低,您只需检查它是否大于0。

var interval
var timeout

document.onkeydown = function() {

    if(event.keyCode == 38){
        interval = setInterval(fade, 200);
    }

}

function fade() {

        var x = document.getElementById('numtext').value;
        var sounds = document.getElementById(x);

        var newVolume = sounds.volume - 0.1;

        // Check if the newVolume is greater than zero
        if(newVolume >= 0){
            sounds.volume = newVolume;
        }
        else{
            // Stop fade
            clearInterval(interval);
            sounds.volume = 0;
            sounds.pause();
            sounds.currentTIme = 0;
        }

}

我已经在这里删除了不必要的代码。