PhotoCapabilities - 为连接的摄影设备提供可用的配置选项
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
PhotoCapabilities 是 MediaStream Image Capture API 的接口,为连接的摄影设备提供了可用的配置选项。可以通过调用 ImageCapture.getPhotoCapabilities() 来获取 PhotoCapabilities 对象。
属性
PhotoCapabilities.redEyeReduction只读
返回 “never”, “always” 或 “controllable” 其中一个值。“controllable” 值表示设备的红眼减轻功能可由用户控制。
PhotoCapabilities.imageHeight 只读
返回一个 MediaSettingsRange 对象,该对象指示用户代理支持的图像高度范围。
PhotoCapabilities.imageWidth 只读
返回一个 MediaSettingsRange 对象,该对象指示用户代理支持的图像宽度范围。
PhotoCapabilities.fillLightMode只读
返回一组可用的补光灯选项。选项可能包括 auto,off 或 flash。
实例
以下实例摘自 Chrome 的图像捕获/照片分辨率示例,使用了 getPhotoCapabilities() 返回的结果来修改输入范围的大小。此实例还显示了如何使用从设备的 MediaStream 中获得的 MediaStreamTrack 创建 ImageCapture 对象。
const input = document.querySelector('input[type="range"]');
var imageCapture;
navigator.mediaDevices.getUserMedia({video: true})
.then(mediaStream => {
document.querySelector('video').srcObject = mediaStream;
const track = mediaStream.getVideoTracks()[0];
imageCapture = new ImageCapture(track);
return imageCapture.getPhotoCapabilities();
})
.then(photoCapabilities => {
const settings = imageCapture.track.getSettings();
input.min = photoCapabilities.imageWidth.min;
input.max = photoCapabilities.imageWidth.max;
input.step = photoCapabilities.imageWidth.step;
return imageCapture.getPhotoSettings();
})
.then(photoSettings => {
input.value = photoSettings.imageWidth;
})
.catch(error => console.log('啊,出错了!', error.name || error));
规范
| 规范 | 状态 | 备注 |
|---|---|---|
| MediaStream Image Capture PotoCapabilities 的定义 |
工作草案 | 初始定义。 |
桌面浏览器兼容性
| 特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| 基础支持 | 59 | 未知 | 未知 | 未知 | 46 | 未知 |
fillLightMode | 59 | 未知 | 未知 | 未知 | 46 | 未知 |
imageHeight | 59 | 未知 | 未知 | 未知 | 46 | 未知 |
imageWidth | 59 | 未知 | 未知 | 未知 | 46 | 未知 |
redEyeReduction | 59 | 未知 | 未知 | 未知 | 46 | 未知 |
移动浏览器兼容性
| 特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| 基础支持 | 59 | 59 | 未知 | 未知 | 未知 | 43 | 未知 |
fillLightMode | 59 | 59 | 未知 | 未知 | 未知 | 43 | 未知 |
imageHeight | 59 | 59 | 未知 | 未知 | 未知 | 43 | 未知 |
imageWidth | 59 | 59 | 未知 | 未知 | 未知 | 43 | 未知 |
redEyeReduction | 59 | 59 | 未知 | 未知 | 未知 | 43 | 未知 |