Đối tượng TimeRanges trong HTML5 Media API đại diện cho tập hợp các đoạn thời gian đã được buffer (tải đệm) của media (audio/video). Nó cho phép kiểm tra những đoạn nào đã sẵn sàng phát.
Thuộc tính của TimeRanges
length: Số lượng đoạn buffer (số range).start(index): Thời gian bắt đầu của đoạnindex(giây).end(index): Thời gian kết thúc của đoạnindex(giây).
Ví dụ: Kiểm tra buffer đã tải
var video = document.querySelector('video');
var buffered = video.buffered; // TimeRanges object
for (var i = 0; i < buffered.length; i++) {
console.log("Đoạn " + i + ": " + buffered.start(i) + "s - " + buffered.end(i) + "s");
}
// Ví dụ: buffered.start(1) = 12, buffered.end(1) = 20
// Nghĩa là đoạn thứ 2 (index 1) đã buffer từ giây 12 đến giây 20.
Ứng dụng
- Hiển thị thanh tiến trình buffer (như YouTube: phần xám phía sau thanh phát).
- Kiểm tra xem đoạn video cần thiết đã buffer chưa trước khi seek.
- Tự động điều chỉnh chất lượng (ABR) dựa trên buffer ahead.
