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 | 未知 | 未知 | 未知 |