[英]HTML5 Audio currentTime property is not always the same
我有一個來自Wikipedia的Audio元素,帶有隨機來源,我在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
謝謝
currentTime屬性設置或返回音頻/視頻播放的當前位置(以秒為單位)。
在您的情況下,您可以訂閱ontimeupdate事件,該事件將在播放音頻/視頻時觸發。 IE通過播放或快速前進來移動軌道的經過時間。
this.currentTime
只會告訴您播放/播放了多少秒。
設置此屬性時 ,播放將跳至指定位置。
返回此屬性后 ,它將在幾秒鍾內為您提供音頻/視頻播放的時間。
例
設置
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.