MediaRecorderErrorEvent:error 屬性
已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。
非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。
MediaRecorderErrorEvent 介面的只讀屬性 **error** 是一個 DOMException 物件,提供了有關 MediaRecorder 例項丟擲的異常的詳細資訊。
當發生 MediaRecorderErrorEvent 時,您可以透過檢查 MediaRecorder 的 error 事件處理程式(onerror)中收到的 MediaRecorderErrorEvent 裡的 error 屬性,在一定程度上確定出了什麼問題。
值
一個 DOMException,描述了事件所代表的錯誤。該錯誤的 name 屬性的值可能是任何在處理媒體錄製時有意義的異常,包括規範中特別標識的異常。這裡的描述是通用的;您將在相應的 API 參考中找到它們可能發生的各種場景下更具體的描述。
InvalidStateError-
在不允許的操作上下文中嘗試執行某項操作,或者對已刪除或移除的物件發出了請求。
NotSupportedError-
由於指定的選項無效而無法建立
MediaRecorder。如果存在,message屬性應提供更多資訊。 SecurityError-
MediaStream被配置為不允許錄製。例如,透過getUserMedia()獲取的源,當用戶拒絕使用輸入裝置許可權時,可能出現這種情況。 InvalidModificationError-
正在錄製的流中的軌道數量已更改。在錄製媒體時,您不能新增或刪除軌道。
UnknownError-
發生了無法分類的非安全相關錯誤。錄製停止,
MediaRecorder的state變為inactive,將向MediaRecorder傳送最後一個dataavailable事件,其中包含剩餘的已接收資料,最後傳送一個stop事件。
示例
基本錯誤處理示例
此函式為給定的 MediaStream 建立並返回一個 MediaRecorder,該 MediaRecorder 被配置為將資料緩衝到陣列中並監視錯誤。
function recordStream(stream) {
let recorder = null;
let bufferList = [];
try {
recorder = new MediaRecorder(stream);
} catch (err) {
/* exception while trying to create the recorder; handle that */
}
recorder.ondataavailable = (event) => {
bufferList.push(event.data);
};
recorder.onerror = (event) => {
console.error(`Error: ${event.error}`);
};
recorder.start(100); /* 100ms time slices per buffer */
return recorder;
}
規範
此功能不再是任何規範的一部分,也無法成為標準。
瀏覽器相容性
載入中…