SourceBuffer: phương thức hủy bỏ()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Note: This feature is available in Dedicated Web Workers.
Phương thức abort() của SourceBuffer
giao diện hủy bỏ phân đoạn hiện tại và đặt lại trình phân tích cú pháp phân đoạn.
Cú pháp
abort()
Thông số
Không.
Giá trị trả về
Không có (undefined).
Ngoại lệ
InvalidStateErrorDOMException-
Bị ném nếu thuộc tính
MediaSource.readyStatecủanguồn phương tiện gốc không bằng
openhoặc điều nàySourceBufferđã bị xóa khỏiMediaSource.
Ví dụ
Mô tả thông số kỹ thuật của abort() hơi khó hiểu — hãy xem xét
ví dụ bước 1 của đặt lại trạng thái trình phân tích cú pháp. API MSE hoàn toàn không đồng bộ, nhưng bước này dường như gợi ý một
hoạt động đồng bộ (chặn), điều này không có ý nghĩa gì.
Nói như vậy, việc triển khai hiện tại có thể hữu ích trong một số trường hợp nhất định, khi bạn muốn để dừng hoạt động nối thêm (hoặc bất cứ điều gì) hiện tại xảy ra trên bộ đệm nguồn, sau đó ngay lập tức bắt đầu thực hiện lại các thao tác trên nó. Ví dụ: hãy xem xét mã này:
sourceBuffer.addEventListener("updateend", (ev) => {
// …
});
sourceBuffer.appendBuffer(buf);
Giả sử rằng sau lệnh gọi tới appendBuffer NHƯNG trước
Sự kiện updateend kích hoạt (nghĩa là bộ đệm đang được thêm vào nhưng thao tác
chưa hoàn thành) người dùng "chà" video để tìm kiếm một thời điểm mới. trong
trường hợp này bạn sẽ muốn gọi thủ công abort() trên bộ đệm nguồn để
dừng giải mã bộ đệm hiện tại, sau đó tìm nạp và nối thêm bộ đệm mới được yêu cầu
phân đoạn liên quan đến vị trí mới hiện tại của video.
Thông số kỹ thuật
| Specification |
|---|
| Media Source Extensions™> # dom-sourcebuffer-abort> |