簡體   English   中英

HTML5音頻的currentTime屬性並不總是相同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM