我在使用chrome运行HTML5音频播放器时遇到问题。它在IE 9+和Firefox中运行良好。我已经编写了javascript函数,用于在F7和F7上转发和倒带音频播放器。 F8按键,它在IE和FF中表现不错,但由于某些原因它在Chrome中不起作用。以下是代码。
$(document).keydown(function (e) {
if (e.keyCode == 118) { rewindAudio(); return false; }
else if (e.keyCode == 119) { forwardAudio(); return false; }
}
// Rewinds the audio file by 30 seconds.
function rewindAudio() {
// Check for audio element support.
if (window.HTMLAudioElement)
{
try {
var oAudio = audioPlayerInFocus[0];
oAudio.currentTime -= 1.0;
}
catch (e) {
// Fail silently but show in F12 developer tools console
if (window.console && console.error("Error:" + e));
}
}
}
// Fast forwards the audio file by 1 seconds.
function forwardAudio() {
// Check for audio element support.
if (window.HTMLAudioElement) {
try {
var oAudio = audioPlayerInFocus[0
oAudio.currentTime += 1.0;
}
catch (e) {
// Fail silently but show in F12 developer tools console
if (window.console && console.error("Error:" + e));
}
}
}
我怀疑当前时间在chrome中没有变化。是否存在任何语法错误或与浏览器相关的问题?请帮帮我。谢谢。
答案 0 :(得分:0)
以下代码适用于我为我测试过的所有浏览器 - fiddle:
<audio controls>
<source src="sample/one.mp3" type="audio/mpeg">
</audio>
<script type="text/javascript">
$(document).on('keydown',function(e) {
if (e.keyCode == 82) {
console.log('r key = rewind');
rewindAudio();
}
else if(e.keyCode == 70){
console.log('f key = forward');
forwardAudio();
}
});
function rewindAudio() {
console.log('rewindAudio');
oAudio = $('audio')[0];
oAudio.currentTime -= 1.0;
}
function forwardAudio() {
console.log('forwardAudio');
oAudio = $('audio')[0];
oAudio.currentTime += 1.0;
}
</script>
我读过有F7 key特定设计的人。
在旁注上检测HTML5音频支持我通常使用here中描述的功能。