HTML5音频 – 在点击时重复播放声音,无论以前的迭代是否完成

前端之家收集整理的这篇文章主要介绍了HTML5音频 – 在点击时重复播放声音,无论以前的迭代是否完成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在建立一个wav文件点击的游戏 – 在这种情况下,这是一个枪声“爆炸”.

问题是如果我快速点击,每次点击都不会播放一次声音 – 就好像在播放声音时忽略了点击,一旦声音完成,它再次开始听到点击.延迟时间似乎大概是一秒钟,所以你知道有人每秒点击4或5次,我想要5个爆炸声,而不是1次.

这是我的HTML

<audio id="gun_sound" preload>
    <source src="http://www.seancannon.com/_test/audio/gun_bang.wav" />
</audio>

这是我的JS:

$('#' + CANVAS_ID).bind(_click,function() {
    document.getElementById('gun_sound').play();
    adj_game_data(GAME_DATA_AMMO_ID,-1);
    check_ammo();
});

想法?

解决方法

一旦gun_bang.wav被预加载,您可以动态地创建附加该声音的新元素,播放音频,然后在音频完成后将其删除.
function gun_bang(){
        var audio = document.createElement("audio");
        audio.src = "http://www.seancannon.com/_test/audio/gun_bang.wav";
        audio.addEventListener("ended",function () {
            document.removeChild(this);
        },false);
        audio.play();   
    }

    $('#' + CANVAS_ID).bind(_click,function() {
        gun_bang();
        adj_game_data(GAME_DATA_AMMO_ID,-1);
        check_ammo();
    });

猜你在找的HTML5相关文章