2014-04-13 12 views
8

Tôi đang sử dụng thẻ âm thanh HTML5 để phát tệp âm thanh trong mẫu của mình. Đối với một số mục đích tôi cần phải theo dõi thời gian hiện tại và thời gian hiển thị tối đa mili giây. Bây giờ tôi có thể nhận được các giá trị chỉ trong vài giây. Có phương pháp nào có thể không? Dưới đây là mã của tôi:HTML5: Cách nhận currentTime và thời lượng Audio Tag theo mili giây

HTML 
<audio controls id="track" src="<path-to-soundtrack>" 
    ontimeupdate="TrackAudio(this)"> 
<p>Your browser does not support the audio element</p> 
</audio> 


JAVASCRIPT 
function TrackAudio(element){ 
var curTime = Math.floor(element.currentTime); 
console.log(curTime) //Value in seconds. 
} 
+0

Tôi không chắc chắn lý do bạn sử dụng 'Math.floor' tại đây. Không có 'Math.floor', giá trị' element.currentTime' _should_ chứa nhiều độ chính xác như trình duyệt có thể đủ khả năng. Do đó, 'element.currentTime * 1000' sẽ cho bạn thời gian hiện tại tính bằng mili giây. Tôi có hiểu nhầm điều gì đó không? –

+0

@musically_ut: Vâng, điều đó có thể hữu ích hơn. Có thể sử dụng các giá trị chính xác để hiển thị giá trị thời gian tối đa mili giây. Cảm ơn rất nhiều. –

Trả lời

8

Bạn có thể sử dụng:

<audio id="track" controls> 
    <source src="your.mp3" type="audio/mpeg"> 
    <source src="your.ogg" type="audio/ogg"> 
</audio> 
<script type="text/javascript"> 
var audio = document.getElementById('track'); 
audio.addEventListener('timeupdate',function(){ 
    var currentTimeMs = audio.currentTime*1000; 
    console.log(currentTimeMs); 
},false); 
</script> 

Bạn có thể đọc ở đây để biết thêm thông tin về độ chính xác của timeupdate event. Nó phụ thuộc vào việc thực hiện trình duyệt vì vậy hãy nhớ rằng bạn sẽ nhận được kết quả khác nhau từ một trình duyệt/thiết bị khác.

Bạn nên sử dụng phương thức addEventListener thay vì thuộc tính ontimeupdate - nó có thể duy trì được nhiều hơn.

Ngoài ra nếu bạn cần bảo hiểm trình duyệt, tốt nhất là sử dụng cả tệp ogg và mp3 âm thanh làm nguồn.

+1

Câu trả lời này không giải thích cách bạn nhận được tổng thời gian của tệp. –

Các vấn đề liên quan