2016-11-05 14 views
1

私は、shift(KeyCode:16)を押してもオーディオファイルを再生するために完全に動作する以下のコードを持っています。JavaScriptでオーディオファイル(onkeydown)を再生または一時停止する

私がやりたいことは、もう一度shiftキーを押してその曲を一時停止することです。私は再生/一時停止を複数回行う可能性があります。

HTML:

<audio id="audio" src="audio/song.mp3" autostart="false"></audio> 

はJavaScript:

var sound = { 
    16: 'audio' 

}; 

document.onkeydown = function (e) { 
    var soundId = sound[e.keyCode]; 
    if (soundId) document.getElementById(soundId).play(); 
    else console.log("key not mapped : code is", e.keyCode); 
} 

答えて

1

、オーディオは、それがある場合は、それを再生、一時停止していることを確認し、そうでない場合は

var sound = { 
    16: 'audio' 
}; 

document.addEventListener('keydown', function(e) { 
    var soundId = sound[e.which || e.keyCode]; 

    if (soundId) { 
     var elem = document.getElementById(soundId); 

     if (elem.paused) { 
      elem.play(); 
     } else { 
      elem.pause(); 
     } 
    } else { 
     console.log("key not mapped : code is", e.keyCode); 
    } 
}); 
+0

はそんなにありがとう、それを一時停止それは動作します:)あなたはちょうど忘れました ')最後に –

関連する問題