MediaRecorder: phương thức requestData()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Phương thức requestData() của giao diện MediaRecorder được dùng để tạo sự kiện dataavailable chứa đối tượng Blob của phương tiện đã ghi tính đến thời điểm phương thức được gọi. Sau đó bạn có thể lấy và xử lý dữ liệu này theo ý muốn.

Khi phương thức requestData() được gọi, trình duyệt xếp vào hàng đợi một tác vụ chạy các bước sau:

  1. Nếu MediaRecorder.state là "inactive", tạo lỗi DOM InvalidState và kết thúc các bước này. Nếu MediaRecorder.state không phải "inactive", tiếp tục bước tiếp theo.
  2. Tạo sự kiện dataavailable chứa Blob của dữ liệu đã ghi hiện tại (Blob có sẵn trong thuộc tính data của sự kiện).
  3. Tạo Blob mới và đặt dữ liệu tiếp theo được ghi vào đó.

Cú pháp

js
requestData()

Tham số

Không có.

Giá trị trả về

Không có (undefined).

Ngoại lệ

InvalidStateError DOMException

Được ném ra nếu MediaRecorder hiện tại đang ở trạng thái "inactive"; bạn không thể lấy dữ liệu ghi nếu MediaRecorder không hoạt động.

Ví dụ

js
captureMedia.onclick = () => {
  mediaRecorder.requestData();
  // tạo ảnh chụp nhanh dữ liệu hiện tại
  // ondataavailable kích hoạt, sau đó việc ghi tiếp tục
  // trong Blob mới
};

Thông số kỹ thuật

Specification
MediaStream Recording
# dom-mediarecorder-requestdata

Tương thích trình duyệt

Xem thêm