2012-04-29 11 views
0

音:私はIDを持つチェックボックスを持っているチェックボックスをオフにした場合、javascriptを使用してHTML5オーディオをオフにするにはどうすればよいですか?私はいくつかのHTML5を再生するには、次のJavaScriptコードを持っている

:私は音

問題を再生することができ、他の関数で使用されるsound1.playclip();

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 createsound(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(){ 
       html5audio.pause() 
       html5audio.currentTime=0 
       html5audio.play() 
      } 
      return html5audio 
     } 
     else{ 
      return {playclip:function(){throw new Error("Your browser doesn't support HTML5 audio")}} 
     } 
    } 

//Initialize two sound clips with 1 fallback file each: 
var sound1=createsound("audio/tileSelect.ogg", "audio/tileSelect.mp3") 
var sound2=createsound("audio/tileRemove.ogg", "audio/tileRemove.mp3") 

: 。チェックすると音が聞こえますが、そうでなければ聞こえません。チェックボックスのための

コードは現在、次のとおりです。

function playSound() { 
    if (document.getElementById('sound').checked){ 
     [something has to be added here?] 
    } 
} 

私がオフの場合にチェックするときの音を聞くためにこの部分に追加しないようにする必要がありますか?私はそれを働かせるように見えない。

敬具、 モーリス

+1

を働くあなたはサイトに戻ったときに、チェックボックスの状態はとてもクッキーに保存されているチェックボックス – tskulbru

+0

にクリックリスナーを添付する必要がありますステータスは「記憶されている」ため、クリック機能は使用されません(この場合)。私は不完全なifステートメントで試したので、チェックボックスの状態でサウンドをミュートする必要があります – Maurice

答えて

0

ネヴァーマインド、私はそれを解決しました。私はあまりにもハード考えていたが、非常にシンプルに行うことができます。

if (document.getElementById('sound').checked){ 
       sound1.playclip(); 
      } 

これは

関連する問題