Tôi đang thiết kế một trình phát video tùy chỉnh HTML5
. Do đó, nó sẽ có thanh trượt tùy chỉnh của riêng nó để bắt chước tiến trình video, vì vậy tôi cần phải hiểu toàn bộ bộ đệm đệm của video HTML5
.Các tính năng thuộc tính video được đệm trong HTML5
Tôi đã xem qua bài viết này: Video Buffering. Nó nói rằng đối tượng đệm bao gồm một số phạm vi thời gian theo thứ tự tuyến tính của thời gian bắt đầu. Nhưng tôi không thể tìm thấy những điều sau đây:
Giả sử video bắt đầu. Nó tiếp tục tối đa 1:45 một mình (thỉnh thoảng trì hoãn có lẽ, chờ đợi thêm dữ liệu), sau đó tôi đột nhiên nhảy tới 32:45. Bây giờ sau một thời gian, nếu tôi nhảy trở lại 1:27 (trong phạm vi thời gian ban đầu được nạp và chơi qua, trước khi tôi thực hiện bước nhảy), nó sẽ bắt đầu chơi ngay lập tức vì nó đã được nạp trước đó chưa? Hay là vì tôi đã nhảy, phần đó bị mất và sẽ phải lấy lại lần nữa? Dù bằng cách nào, hành vi có phù hợp với tất cả các tình huống như vậy không?
Giả sử tôi thực hiện 5 hoặc 6 lần nhảy như vậy, mỗi lần đợi một vài giây để một số dữ liệu tải sau khi nhảy. Điều đó có nghĩa là đối tượng
buffered
sẽ có tất cả các phạm vi thời gian đó được lưu trữ không? Hoặc có thể một số bị lạc? Nó có phải là một loại đống điều, nơi mà các phạm vi trước đó sẽ nhận được popped off như nhiều phạm vi được tải do nhảy thêm?Sẽ kiểm tra xem đối tượng
buffered
có một phạm vi thời gian bắt đầu từ 0 (quên phát trực tiếp) và kết thúc ở độ dài thời lượng video đảm bảo rằng toàn bộ tài nguyên video đã được tải hoàn toàn chưa? Nếu không, có cách nào để biết rằng toàn bộ video đã được tải xuống và phần nào có thể tìm kiếm được hay không, từ đó video có thể phát liên tục tối đa mà không bị trễ một chút?
Thông số W3C không rõ ràng về điều này và tôi cũng không thể tìm thấy tài nguyên video từ xa lớn (hơn một giờ) để kiểm tra.
Khi bạn tạm dừng video và chạy buffered.end (index), nó trả về 1 và ngừng hoạt động. Đó có phải là một hành vi phổ biến? không thể tìm thấy các vấn đề liên quan. –