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:
- Nếu
MediaRecorder.statelà "inactive", tạo lỗi DOMInvalidStatevà kết thúc các bước này. NếuMediaRecorder.statekhông phải "inactive", tiếp tục bước tiếp theo. - Tạo sự kiện
dataavailablechứaBlobcủa dữ liệu đã ghi hiện tại (Blob có sẵn trong thuộc tínhdatacủa sự kiện). - 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ệ
InvalidStateErrorDOMException-
Được ném ra nếu
MediaRecorderhiện tại đang ở trạng thái"inactive"; bạn không thể lấy dữ liệu ghi nếuMediaRecorderkhô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
| Thông số kỹ thuật |
|---|
| MediaStream Recording> # dom-mediarecorder-requestdata> |
Tương thích trình duyệt
Xem thêm
- Sử dụng MediaStream Recording API
- Web Dictaphone: MediaRecorder + getUserMedia + Web Audio API visualization demo, bởi Chris Mills (mã nguồn trên GitHub.)
- simpl.info MediaStream Recording demo, bởi Sam Dutton.
Navigator.getUserMedia()