MediaRecorder: sự kiện error
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Sự kiện error của giao diện MediaRecorder được kích hoạt khi xảy ra lỗi: ví dụ vì việc ghi không được phép hoặc được thực hiện bằng codec không được hỗ trợ.
Sự kiện này không thể huỷ và không nổi bọt.
Cú pháp
Dùng tên sự kiện trong các phương thức như addEventListener(), hoặc đặt thuộc tính trình xử lý sự kiện.
addEventListener("error", (event) => { })
onerror = (event) => { }
Loại sự kiện
Một MediaRecorderErrorEvent. Kế thừa từ Event.
Thuộc tính sự kiện
Kế thừa thuộc tính từ giao diện cha Event.
errorRead only-
Một
DOMExceptionchứa thông tin về lỗi đã xảy ra.
Mô tả
>Nguyên nhân kích hoạt
Hàm được gọi bất cứ khi nào xảy ra lỗi trong suốt vòng đời của đối tượng ghi. Ngoài các lỗi chung khác có thể xảy ra, các lỗi sau đây có thể xảy ra khi sử dụng MediaStream Recording API; để xác định lỗi nào đã xảy ra, hãy kiểm tra giá trị của MediaRecorderErrorEvent.error.name.
SecurityError-
MediaStreamđược cấu hình để không cho phép ghi. Điều này có thể xảy ra, ví dụ, với các nguồn được lấy bằnggetUserMedia()khi người dùng từ chối quyền sử dụng thiết bị đầu vào. InvalidModificationError-
Số lượng track trên luồng đang được ghi đã thay đổi. Bạn không thể thêm hoặc xóa track trong khi đang ghi phương tiện.
UnknownError-
Xảy ra lỗi không liên quan đến bảo mật mà không thể phân loại khác. Việc ghi dừng lại,
statecủaMediaRecordertrở thànhinactive, sự kiệndataavailablecuối cùng được gửi đếnMediaRecordervới dữ liệu còn lại nhận được, và cuối cùng sự kiệnstopđược gửi.
Ví dụ
Dùng addEventListener() để lắng nghe sự kiện error:
async function record() {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
const recorder = new MediaRecorder(stream);
recorder.addEventListener("error", (event) => {
console.error(`error recording stream: ${event.error.name}`);
});
recorder.start();
}
record();
Tương tự, nhưng dùng thuộc tính trình xử lý sự kiện onerror:
async function record() {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
const recorder = new MediaRecorder(stream);
recorder.onerror = (event) => {
console.error(`error recording stream: ${event.error.name}`);
};
recorder.start();
}
record();
Thông số kỹ thuật
| Specification |
|---|
| MediaStream Recording> # dom-mediarecorder-onerror> |