我正嘗試在jQuery中使用.keydown()事件播放聲音。我希望聲音能夠快速播放,但是當我以每秒3次的速度執行keydown事件時,似乎存在滯後時間。使用jQuery播放聲音時擺脫滯後時間
這裏是我的示例代碼的jsfiddle:http://jsfiddle.net/pfrater/FRudg/3/
我使用的聲音和播放音頻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;
}
});
});
有誰知道擺脫這種滯後的方法嗎?另外,我將要播放的實際文件是mpegs。上面的只是一個例子。
感謝您的幫助,
保羅
什麼瀏覽器?我正在使用鉻合金在一臺蹩腳的Windows機器上測試它,這很好。 – epascarello
@保羅它也適用於這裏,就好了。 – AbdelElrafa
我正在使用Safari。是的,它播放聲音很好,但我希望它變得更快。有什麼辦法可以做到嗎? – logicForPresident