jQuery で .keydown() イベントを使用してサウンドを再生しようとしています。音を速く再生したいのですが、キーダウン イベントを 1 秒あたり約 3 回より速く実行すると、ラグ タイムが発生するようです。
これが私のサンプル コードの jsFiddle です: http://jsfiddle.net/pfrater/FRudg/3/
サウンドと再生に audio html タグを使用しています。
<audio controls id="sound" preload="auto">
<source src="http://www.wavlist.com/soundfx/011/duck-baby.wav" type="audio/wav"/>
</audio>
<audio controls id="sound2" preload="auto">
<source src="http://rezound.sourceforge.net/examples/chirp.wav" type="audio/wav"/>
</audio>
<audio controls id="sound3" preload="auto">
<source src="http://www.all-birds.com/Sound/downychirp.wav" type="audio/wav"/>
</audio>
ここに私のjQueryがあります:
$(document).ready( function() {
var playing;
$(document).bind("keydown", function(key) {
playing = undefined;
switch(parseInt(key.which, 10)) {
case 65:
playing = $("#sound").get(0);
break;
case 83:
playing = $("#sound2").get(0);
break;
case 68:
playing = $("#sound3").get(0);
break;
};
if (playing) {
playing.play();
}
}).on("keyup", function() {
if(playing){
playing.pause();
playing.currentTime=50;
playing = undefined;
}
});
});
このラグを取り除く方法を知っている人はいますか?また、実際に再生するファイルは mpeg です。上記はほんの一例です。
助けてくれてありがとう、
ポール