MediaCapabilitiesInfo - 提供了是否支持媒体类型,以及是否平滑和节能的信息
MediaCapabilitiesInfo
是 Media Capabilities API 的接口,当 MediaCapabilities
接口的 MediaCapabilities.encodingInfo()
或 MediaCapabilities.decodingInfo()
方法返回的 promise 解析成功时,提供了关于是否支持媒体类型,以及是否编码或解码这样的媒体将是平滑和节能的信息。
属性
MediaCapabilitiesInfo
接口包含三个布尔属性:
supported
MediaConfiguration
中定义的属性,表示是否可以对指定的媒体内容进行编码(如果设置了 MediaEncodingConfiguration
)或解码(如果设置了 MediaDecodingConfiguration
),如果是,supported
为 true,否则为 false。
smooth
MediaConfiguration
中定义的属性,指定媒体的播放是否为高质量,是否平滑吗。如果 supported
为 true
,且回放是平滑的,则 smooth
为 true,否则为 false。
powerEfficient
MediaConfiguration
中定义的属性,指示媒体的播放是否为节能?如果 supported
是 true
,并且回放是节能的,则 powerEfficient
为 true,否则为 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 的定义 |
草稿 | 初始定义 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 66 | ≤79 | 63 | 不支持 | 未知 | 未知 |
powerEfficient | 66 | ≤79 | 63 | 不支持 | 未知 | 未知 |
smooth | 66 | ≤79 | 63 | 不支持 | 未知 | 未知 |
supported | 66 | ≤79 | 63 | 不支持 | 未知 | 未知 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 66 | 66 | 未知 | 63 | 未知 | 未知 | 未知 |
powerEfficient | 66 | 66 | 未知 | 63 | 未知 | 未知 | 未知 |
smooth | 66 | 66 | 未知 | 63 | 未知 | 未知 | 未知 |
supported | 66 | 66 | 未知 | 63 | 未知 | 未知 | 未知 |