Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 播放第二个声音也会重放第一个声音?_Jquery_Audio - Fatal编程技术网

Jquery 播放第二个声音也会重放第一个声音?

Jquery 播放第二个声音也会重放第一个声音?,jquery,audio,Jquery,Audio,我有以下代码: var audiotypes={ "mp3": "audio/mpeg", "mp4": "audio/mp4", "ogg": "audio/ogg", "wav": "audio/wav" } function ss_soundbits(sound){ var audio_element = document.createElement('audio') if (audio_element.canPlayType){

我有以下代码:

var audiotypes={
    "mp3": "audio/mpeg",
    "mp4": "audio/mp4",
    "ogg": "audio/ogg",
    "wav": "audio/wav"
}

function ss_soundbits(sound){
    var audio_element = document.createElement('audio')
    if (audio_element.canPlayType){
        for (var i=0; i<arguments.length; i++){
            var source_element = document.createElement('source')
            source_element.setAttribute('src', arguments[i])
            if (arguments[i].match(/\.(\w+)$/i))
                source_element.setAttribute('type', audiotypes[RegExp.$1])
            audio_element.appendChild(source_element)
        }
        audio_element.load()
        audio_element.playclip=function(){
            audio_element.pause()
            audio_element.currentTime=0
            audio_element.play()
        }
        return audio_element
    }
}

var clicksound  = ss_soundbits('Door.ogg', "Door.mp3");
var plopsound  = ss_soundbits('Pet.ogg', "Pet.mp3");

一切都很好,除了我点击#按钮2上的“重复”按钮时,它还会播放按钮1(点击声音)的声音-知道为什么吗?我想这可能是因为它是同一个元素——但我也尝试过在#button2上的repeat按钮中添加一个类,并用它来触发音频,但同样的事情发生了——开放思想

在播放下一个音频片段之前,您必须先暂停上一个音频片段-不知道为什么会这样,或者为什么会这样

$("#button1").sequence("click")
.handle(function () { 
$(".overlay").fadeToggle();
clicksound.playclip();
$(".overlay .repeat").click(function() { clicksound.playclip(); });
})
.handleNext("#button2", function () { 
$(".overlay").fadeToggle();
plopsound.playclip();
$(".overlay .repeat").click(function() { plopsound.playclip(); });
})