Javascript Html5音频ios播放事件
我正在尝试检测ios上何时开始播放音频。问题是,当我按play时,play、playing事件会立即启动,但音频会在几秒钟后开始播放。我正在使用~5mb音频文件 为什么在这些事件和音频启动之间会有这样的延迟,我怎样才能检测到声音何时真正启动Javascript Html5音频ios播放事件,javascript,html,ios,audio,Javascript,Html,Ios,Audio,我正在尝试检测ios上何时开始播放音频。问题是,当我按play时,play、playing事件会立即启动,但音频会在几秒钟后开始播放。我正在使用~5mb音频文件 为什么在这些事件和音频启动之间会有这样的延迟,我怎样才能检测到声音何时真正启动 document.getElementById('audio').addEventListener(“播放”,播放,假); document.getElementById('audio')。addEventListener(“播放”,播放,假); 函数播放
document.getElementById('audio').addEventListener(“播放”,播放,假);
document.getElementById('audio')。addEventListener(“播放”,播放,假);
函数播放(){
var h=document.createElement(“H1”);
var t=document.createTextNode('play');
h、 儿童(t);
文件.正文.附件(h);
}
函数播放(){
var h=document.createElement(“H1”);
var t=document.createTextNode('playing');
h、 儿童(t);
文件.正文.附件(h);
}
虽然我不确定是什么原因导致了iOs设备上的延迟,但我建议采取一种解决方法,无论使用何种浏览器,这种方法都应该有效 不要收听播放或播放事件,而是收听时间更新事件。在回调函数中,只需检查音频元素的.currentTime属性是否大于零
document.getElementById('audio').addEventListener(“时间更新”,更新,false);
document.getElementById('audio')。addEventListener(“播放”,播放,假);
var=false;
var=false;
var startTime;
函数更新(){
if(playpush&&!started&&document.getElementById('audio').currentTime>startTime){
开始=真;
var h=document.createElement(“H1”);
var t=document.createTextNode('playing');
h、 儿童(t);
文件.正文.附件(h);
}
}
函数播放(){
play=true;
startTime=document.getElementById('audio').currentTime;
}
虽然我不确定是什么原因导致了iOs设备上的延迟,但我建议采取一种解决方法,无论使用何种浏览器,这种方法都应该有效 不要收听播放或播放事件,而是收听时间更新事件。在回调函数中,只需检查音频元素的.currentTime属性是否大于零
document.getElementById('audio').addEventListener(“时间更新”,更新,false);
document.getElementById('audio')。addEventListener(“播放”,播放,假);
var=false;
var=false;
var startTime;
函数更新(){
if(playpush&&!started&&document.getElementById('audio').currentTime>startTime){
开始=真;
var h=document.createElement(“H1”);
var t=document.createTextNode('playing');
h、 儿童(t);
文件.正文.附件(h);
}
}
函数播放(){
play=true;
startTime=document.getElementById('audio').currentTime;
}
丑陋修复,但可以用于媒体启动时的事件,但如果您不断收听播放事件(例如更改播放机上的暂停/播放图标),则每次都需要获取此事件。丑陋修复,但可以用于媒体启动时的事件,但如果您不断收听播放事件(例如,要更改播放机上的暂停/播放图标),则每次都需要获取此事件。