我正在实现zxing-js来扫描二维码。我的任务是在使用相机时启用缩放。它在 Android 设备上的 Chrome 中运行良好,但是当我尝试在 iOS 上使用它时它不起作用。
下面是我的代码:
navigator.mediaDevices.getUserMedia(environment).then(async mediaStream => {
document.querySelector('video').srcObject = mediaStream;
await sleep(1000);
const track = mediaStream.getVideoTracks()[0];
const capabilities = track.getCapabilities();
const settings = track.getSettings();
const input = document.querySelector('input[type="range"]');
// Check whether zoom is supported or not.
if (!('zoom' in capabilities)) {
return $(log).html('Zoom is not supported by ' + track.label);
}
// Map zoom to a slider element.
input.min = capabilities.zoom.min;
input.max = capabilities.zoom.max;
input.step = capabilities.zoom.step;
input.value = settings.zoom;
input.oninput = function(event) {
track.applyConstraints({advanced: [ {zoom: event.target.value} ]});
}
input.hidden = false;
});
当我检查capabilities
使用 iOS 设备时,该zoom
属性不在列表中。关于如何解决这个问题的任何想法?
太感谢了!