MediaCapabilitiesInfo - 提供了是否支持媒体类型,以及是否平滑和节能的信息

MediaCapabilitiesInfoMedia Capabilities API 的接口,当 MediaCapabilities 接口的 MediaCapabilities.encodingInfo()MediaCapabilities.decodingInfo() 方法返回的 promise 解析成功时,提供了关于是否支持媒体类型,以及是否编码或解码这样的媒体将是平滑和节能的信息。

属性

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

supported

MediaConfiguration 中定义的属性,表示是否可以对指定的媒体内容进行编码(如果设置了 MediaEncodingConfiguration)或解码(如果设置了 MediaDecodingConfiguration),如果是,supportedtrue,否则为 false

smooth

MediaConfiguration 中定义的属性,指定媒体的播放是否为高质量,是否平滑吗。如果 supportedtrue,且回放是平滑的,则 smoothtrue,否则为 false

powerEfficient

MediaConfiguration 中定义的属性,指示媒体的播放是否为节能?如果 supportedtrue,并且回放是节能的,则 powerEfficienttrue,否则为 false

实例

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

// 检查是否支持和性能如何
navigator.mediaCapabilities.decodingInfo(mediaConfig).then(result => { // 结果包含媒体功能信息
    console.log('该配置是' +                     
        (result.supported ? '' : '不') + '支持的,' + // 所配置的媒体是否可以由用户代理解码
        (result.smooth ? '' : '不') + '平滑的,且' + // 是否平滑
        (result.powerEfficient ? '' : '不') + '节能的。') // 是否节能?
});

规范

规范 状态 备注
Media Capabilities
MediaCapabilitiesInfo 的定义
草稿 初始定义

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持66≤7963 不支持 未知 未知
powerEfficient66≤7963 不支持 未知 未知
smooth66≤7963 不支持 未知 未知
supported66≤7963 不支持 未知 未知

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持6666 未知63 未知 未知 未知
powerEfficient6666 未知63 未知 未知 未知
smooth6666 未知63 未知 未知 未知
supported6666 未知63 未知 未知 未知

相关链接