MediaRecorder: stop() 方法

Baseline 已廣泛支援

此特性已得到良好支援,可在多種裝置和瀏覽器版本上使用。自 2021 年 4 月起,所有瀏覽器均已支援此特性。

MediaRecorder 介面的 stop() 方法用於停止媒體捕獲。

呼叫 stop() 方法時,使用者代理 (UA) 會將一個任務加入佇列,該任務會執行以下步驟:

  1. 如果 MediaRecorder.state 是“inactive”(非活動),則丟擲一個 DOM InvalidState 錯誤並終止這些步驟。如果 MediaRecorder.state 不是“inactive”,則繼續執行下一步。
  2. MediaRecorder.state 設定為“inactive”,並停止捕獲媒體。
  3. 丟擲一個 dataavailable 事件,其中包含已收集資料的 Blob。
  4. 丟擲一個 stop 事件。

語法

js
stop()

引數

無。

返回值

無(undefined)。

異常

InvalidStateError DOMException

如果 MediaRecorder 當前處於 "inactive" 狀態,則丟擲此異常;如果 MediaRecorder 未處於活動狀態,則無法停止錄製。

示例

js
stop.onclick = () => {
  mediaRecorder.stop();
  console.log("recorder stopped, data available");
};

規範

規範
MediaStream Recording
# dom-mediarecorder-stop

瀏覽器相容性

另見