自从苹果的iOS 11引入了webRTC和getUserMedia之后,我能够将摄像头的输入获取到
width: 306
这样的裸值应该表示理想
, 但Safari似乎将它们视为精确
,除非它完全匹配用户相机提供的驱动程序分辨率,否则会出现错误。navigator.mediaDevices.getUserMedia({video: {width: {min: 320, max: 640}}})
...或者使用常见的值和回退策略:
try {
await navigator.mediaDevices.getUserMedia({video: {width: 320}})
} catch(e) {
await navigator.mediaDevices.getUserMedia({video: {width: 640}})
}
.catch(function(e) { console.error(e); })
可能会显示抛出的错误。 - Philipp Hancke