1

このサイトに投稿された次のスクリプトを使用しています: http://www.javascriptkit.com/script/...oundlink.shtml

うまく機能しますが、このスクリプトを拡張して、チェックボックスを使用してサウンドをミュートしたいと考えています。このチェックボックスには id: sound があります。チェックを入れると音を鳴らしたい、チェックを外すと音が出ない。

これは、チェックボックス用に現在持っているコードです: コード:

function playSound() {
    if (document.getElementById('sound').checked){
        -something needs to be added here to make it work?-
    }
}

誰でもこれを機能させる方法を知っていますか?

どうもありがとう

4

2 に答える 2

1

function muteIt(box) { if (クリック音){ clicksound.muted = box.checked?true:false; } if (mouseoversound){ mouseoversound.muted = box.checked?true:false; } }

于 2012-04-30T19:39:56.217 に答える
0
<script>

// Mouseover/ Click sound effect- by JavaScript Kit (www.javascriptkit.com)
// Visit JavaScript Kit at http://www.javascriptkit.com/ for full source code

//** Usage: Instantiate script by calling: var uniquevar=createsoundbite("soundfile1", "fallbackfile2", "fallebacksound3", etc)
//** Call: uniquevar.playclip() to play sound   

var html5_audiotypes={ //define list of audio file extensions and their associated audio types. Add to it if your specified audio file isn't on this list:
    "mp3": "audio/mpeg",
    "mp4": "audio/mp4",
"ogg": "audio/ogg",
"wav": "audio/wav"
}

function createsoundbite(sound){
    var html5audio=document.createElement('audio')
    if (html5audio.canPlayType){ //check support for HTML5 audio
        for (var i=0; i<arguments.length; i++){
            var sourceel=document.createElement('source')
            sourceel.setAttribute('src', arguments[i])
            if (arguments[i].match(/\.(\w+)$/i))
                sourceel.setAttribute('type', html5_audiotypes[RegExp.$1])
            html5audio.appendChild(sourceel)
        }
        html5audio.load()
        html5audio.playclip=function(){
                    if (document.getElementById('sound').checked){

                html5audio.pause()
                    html5audio.currentTime=0
                    html5audio.play()

                    }
        }
    return html5audio
}
else{
    return {playclip:function(){throw new Error("Your browser doesn't support    HTML5 audio unfortunately")}}
}
}

//Initialize two sound clips with 1 fallback file each:

var mouseoversound=createsoundbite("whistle.ogg", "whistle.mp3")
var clicksound=createsoundbite("click.ogg", "click.mp3")

</script>

そのため、ボックスがチェックされているかどうかを確認します。もしそうなら、それは再生されます。そうでない場合は、再生されません。

于 2012-04-30T19:45:20.340 に答える