以下代码存在多个问题。
<audio id="player" autoplay loop >
<source id="mp3Source" src="" type="audio/mp3">
</audio>
<script>
var vid = document.getElementById('player');
vid.volume = 0.3;
function loadSong(songNo) {
var mp3Source = document.getElementById('mp3Source');
mp3Source.src = 'songs/' + songNo + '.mp3';
};
$(window).keydown(function(evt) {
if (evt.which == 107) {
if (vid.volume < 1) {
vid.volume = Math.max( Math.ceil((vid.volume + 0.1) * 10) / 10)
}
}
if (evt.which == 109) {
if (vid.volume > 0) {
vid.volume = Math.max( Math.ceil((vid.volume - 0.1) * 10) / 10)
}
}
if (evt.which == 32) {
vid.volume = 0
}
if (evt.which == 97) {
loadSong(1)
}
if (evt.which == 98) {
loadSong(2)
}
});
</script>
现在,第一个问题是当您按下键(+ /-)时,先按+几次,然后再发送垃圾邮件-vid.volume将卡在相同的浮点数上,并且不会低于该数字但它仍然会超越。第二个问题是,我很少能在浏览器中听到音乐播放,似乎是随机的吗?我不确定我的代码是否有问题,或者这是工作的方式。
总结一下问题,使用键(-)播放时,键会被卡住,音量不会减小;打开.html文件时,音乐不会在浏览器中播放,只能随机播放(如果刷新或重新启动文件)