我有一个来自维基百科的随机源音频元素,我将一个监听器附加到timeupdate,我把一个console.log(this.currentTime)放在上面,我总是得到不同的值,有人可以解释一下我。
HTML:
<audio id="track" src="http://upload.wikimedia.org/wikipedia/commons/a/a9/Tromboon-sample.ogg" controls preload="auto">
<p>Your browser does not support the audio element</p>
</audio>
使用Javascript:
window.onload = function(){
var track = document.getElementById('track');
track.ontimeupdate = function(){
console.log(this.currentTime);
};
};
结果:
0
0.241375
0.492853
0.743976
0.995482
再次:
0.241815
0.49318
0.744024
0.995427
由于
答案 0 :(得分:0)
currentTime属性设置或返回音频/视频播放的当前位置(以秒为单位)。
在您的情况下 您订阅了ontimeupdate事件,而ontimeupdate则在播放音频/视频时触发。 I.E通过播放或快进来移动曲目的经过时间。
this.currentTime
只会告诉你它播放/经过了多少秒。
当设置此属性时,播放将跳转到指定位置 当返回此属性时,它将为您提供&#34;秒&#34;音频/视频播放了多长时间 示例强>
设置
audioTrack.currentTime="theAmountOfSecondsThatHaveElapsed"
audioTrack=document.getElementById("track");
audioTrack.currentTime=5; //sets audioTrack to five seconds
要返回 audioTrack.currentTime
audioTrack=document.getElementById("track");
var audiotrackPosition = audioTrack.currentTime; //returns audioTrack
代码示例
function timelineEvent(start, stop, name)
{
this.start = start;
this.stop = stop;
this.name = name;
}
var eventArr = new Array();
eventArr.push(new timelineEvent(10,20, "Drums starting"));
eventArr.push(new timelineEvent(25,27,"Pitch goes down"));
for(var i = 0; i < eventArr.length; i++)
{
console.log("Event -- " + eventArr[i].name + " --");
console.log("Event starts @ " + eventArr[i].start);
console.log("Event stops @ " + eventArr[i].stop);
}
如果你想操纵它给你的数字,你可能会使用另一个解决方案!
math.floor(audioTrack.currentTime);