MediaCapabilitiesInfo

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

属性

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

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

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

范例

// 测试的 MediaConfiguration (en-US)
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.').   // 是否高能效?
});

规范

规范 状态 注释
Media Capabilities
MediaCapabilitiesInfo
Draft 初始定义

浏览器兼容性

BCD tables only load in the browser

参考