0
키보드의 'Arrow Up'버튼을 누르면 오디오가 페이드 아웃되고 멈추게합니다. 그러나 그것은 다시 나타나고 결코 멈추지 않습니다.자바 스크립트 오디오 페이드 아웃
music.html : 48 Uncaught IndexSizeError : 'HTMLMediaElement'에 'volume'속성을 설정하지 못했습니다. 제공된 볼륨 (-0.1)이 [0, 1] 범위를 벗어납니다.
저는 초보자입니다.
여기 내 코드입니다.
HTML
<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>
자바 스크립트를
<script language="JavaScript">
var interval
var timeout
document.onkeydown = function() {
if(event.keyCode == 38){
var x = document.getElementById('numtext').value;
var sounds = document.getElementById(x);
interval = setInterval(fade, 200);
return;
}
}
function fade() {
var x = document.getElementById('numtext').value;
var sounds = document.getElementById(x);
sounds.volume = sounds.volume - 0.1;
var timer = setTimeout(function() {
window.clearInterval(interval);
for(i=0; i<sounds.length; i++) sounds[i].pause();
for(i=0; i<sounds.length; i++) sounds[i].currentTime = 0;
}, 2000);
timeout = setTimeout(stopFade, 2000);
}
function stopFade() {
var x = document.getElementById('numtext').value;
var sounds = document.getElementById(x);
for(i=0; i<sounds.length; i++) sounds[i].pause();
for(i=0; i<sounds.length; i++) sounds[i].currentTime = 0;
sounds.volume = 1;
}
</script>
을 어떤 조언을?