HTMLVideoElement: cancelVideoFrameCallback() 方法

Baseline 2024
新推出

自 2024 年 10 月以来,此功能已可在最新的设备和浏览器版本上使用。此功能可能不适用于旧设备或浏览器。

HTMLVideoElement 接口的 cancelVideoFrameCallback() 方法用于取消先前注册的视频帧回调。

语法

js
cancelVideoFrameCallback(id)

参数

id

一个代表您要取消的视频帧回调 ID 的数字。这将是相应 HTMLVideoElement.requestVideoFrameCallback 调用返回的值。

返回值

无(undefined)。

示例

取消视频帧回调

此示例展示了如何使用 cancelVideoFrameCallback() 来取消先前注册的视频帧回调。

js
let videoCallbackId = null;

function updateCanvas(now, metadata) {
  // Do something with the frame

  // …

  // Re-register the callback to run on the next frame
  // It's important to update the videoCallbackId on each iteration
  // so you can cancel the callback successfully
  videoCallbackId = video.requestVideoFrameCallback(updateCanvas);
}

// Initial registration of the callback to run on the first frame
videoCallbackId = video.requestVideoFrameCallback(updateCanvas);

// …

// Cancel video frame callback using the latest videoCallbackId
if (videoCallbackId !== null) {
  video.cancelVideoFrameCallback(videoCallbackId);
}

规范

规范
HTMLVideoElement.requestVideoFrameCallback()
# dom-htmlvideoelement-cancelvideoframecallback

浏览器兼容性

另见