VideoDecoder: isConfigSupported() 靜態方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

注意:此功能在 專用 Web Workers 中可用。

VideoDecoder 介面的 isConfigSupported() 靜態方法用於檢查給定的配置是否受支援(即,是否可以使用給定的配置成功配置 VideoDecoder 物件)。

語法

js
VideoDecoder.isConfigSupported(config)

引數

config

VideoDecoder.configure 接受的字典物件

返回值

一個 Promise,它會解析為一個包含以下成員的物件:

supported

如果給定的配置受解碼器支援,則返回 true,否則返回 false

config

給定的配置的副本,其中包含解碼器識別的所有欄位。

異常

TypeError

如果提供的 config 無效,則會丟擲此錯誤;也就是說,如果它缺少必需的值(例如空的 codec 欄位)或包含無效值(例如負數的 codedWidth)。

示例

以下示例測試瀏覽器是否支援幾種影片編解碼器的硬體加速和非硬體加速版本。

js
const codecs = [
  "avc1.42001E",
  "hvc1.1.6.L123.00",
  "vp8",
  "vp09.00.10.08",
  "av01.0.04M.08",
];
const accelerations = ["prefer-hardware", "prefer-software"];

const configs = [];
for (const codec of codecs) {
  for (const acceleration of accelerations) {
    configs.push({
      codec,
      hardwareAcceleration: acceleration,
      codedWidth: 1280,
      codedHeight: 720,
      not_supported_field: 123,
    });
  }
}

for (const config of configs) {
  const support = await VideoDecoder.isConfigSupported(config);
  console.log(
    `VideoDecoder's config ${JSON.stringify(support.config)} support: ${
      support.supported
    }`,
  );
}

規範

規範
WebCodecs
# dom-videodecoder-isconfigsupported

瀏覽器相容性