0

我对http://ionden.com/a/plugins/ion.sound/en.html上的免费插件 av 有疑问

我当前的 javascript 代码如下所示

(function ($) {

if($.ionSound) {
    return;
}


var settings = {},
    soundsNum,
    canMp3,
    url,
    i,

    sounds = {},
    playing = false;


var createSound = function(name){
    sounds[name] = new Audio();
    canMp3 = sounds[name].canPlayType("audio/mp3");
    if(canMp3 === "probably" || canMp3 === "maybe") {
        url = settings.path + name + ".mp3";
    } else {
        url = settings.path + name + ".ogg";
    }

    $(sounds[name]).prop("src", url);
    sounds[name].load();
    sounds[name].volume = settings.volume;
};


var playSound = function(name){
    var $sound = sounds[name],
        playingInt;

    if(typeof $sound === "object" && $sound !== null) {

        if(!settings.multiPlay && !playing) {
            $sound.play();
            playing = true;

            playingInt = setInterval(function(){
                if($sound.ended) {
                    clearInterval(playingInt);
                    playing = false;
                }
            }, 250);
        } else if(settings.multiPlay) {
            if($sound.ended) {
                $sound.play();
            } else {
                try {
                    $sound.currentTime = 0;
                } catch (e) {}
                $sound.play();
            }
        }

    }
};

$.ionSound = function(options){

    settings = $.extend({
        sounds: [
            "water_droplet"
        ],
        path: "static/sounds/",
        multiPlay: true,
        volume: "0.5"
    }, options);

    soundsNum = settings.sounds.length;

    if(typeof Audio === "function" || typeof Audio === "object") {
        for(i = 0; i < soundsNum; i += 1){
            createSound(settings.sounds[i]);
        }
    }

    $.ionSound.play = function(name) {
        playSound(name);
    };
};


$.ionSound.destroy = function() {
    for(i = 0; i < soundsNum; i += 1){
        sounds[settings.sounds[i]] = null;
    }
    soundsNum = 0;
    $.ionSound.play = function(){};
};

}(jQuery));

我的问题是声音触发缓慢(间隔响应)是否有人知道可以在哪里设置/创建响应,例如 1 秒或更长时间甚至即时单击按钮我需要,否则如果用户单击快速声音不会快速响应足够

4

1 回答 1

2

很难理解你的问题。你是这个意思?

$("#myButton").on("click", function(){
    setTimeout(function(){
        $.ionSound.play("button_tiny");
    }, 1000); // 1 second delay
});
于 2013-09-30T18:26:22.953 回答