MediaCapabilitiesInfo

Media Capabilities API的**MediaCapabilitiesInfo** 接口在 MediaCapabilities接口的 MediaCapabilities.encodingInfo()MediaCapabilities.decodingInfo() 方法返回的 promise 完成时变得可用。它提供了媒体类型是否支持,在编码或解码此媒体时是否流畅和能效等信息。

属性

MediaCapabilitiesInfo 接口包含 3 个布尔属性:

  • supported: 给出 MediaConfiguration 中定义的属性,确定指定的媒体内容能否完全被 编码 (如果 MediaEncodingConfiguration 已设置) 或 解码 (如果 MediaDecodingConfiguration 已设置) 。如果是,supportedtrue. 否则为 false.
  • smooth: 给出 MediaConfiguration 中定义的属性,确定指定的媒体内容在回放时能否高质量和流畅。如果 supportedtrue, 并且回放时将流畅,smoothtrue, 否则为 false.
  • powerEfficient: 给出 MediaConfiguration 中定义的属性,确定指定的媒体内容在回放时能否高能效。如果 supportedtrue, 并且回放时将高能效,powerEfficienttrue, 否则为 false.

浏览器将报告一个支持的媒体配置为 smoothpowerEfficient 直到此设备的统计信息被记录。所有受支持的音频编解码器将报告为高能效。

范例

js
// 测试的 MediaConfiguration
const mediaConfig = {
    type : 'file',
    audio : {
        contentType : "audio/ogg",
        channels : 2,
        bitrate : 132700,
        samplerate : 5200
     },
};

// 检查支持和性能
navigator.mediaCapabilities.decodingInfo(mediaConfig).then(result => { // result 包含媒体兼容信息
    console.log('This configuration is ' +
        (result.supported ? '' : 'not ') + 'supported, ' +             // 配置的媒体能否被用户代理解码?
        (result.smooth ? '' : 'not ') + 'smooth, and ' +               // 是否流畅?
        (result.powerEfficient ? '' : 'not ') + 'power efficient.').   // 是否高能效?
});

规范

Specification
Media Capabilities
# ref-for-dom-mediacapabilities-encodinginfo

浏览器兼容性

BCD tables only load in the browser

参考