如何使用javascript实现ios safari浏览器的打开相机和放大/缩小功能

Vip*_*nde 6 javascript safari ios

尝试在 ios safari 浏览器上使用 html5/javascript 打开相机,但不支持缩放。

使用了 javascript getMediaDevices 和 getCapability API。但不适用于 iO

navigator.mediaDevices.getUserMedia({ video : {facingMode: "environment" }})
            .then(gotMedia)
            .catch(e => { console.error('getUserMedia() failed: ', e); });
function gotMedia(mediastream) {
  videoTag.srcObject = mediastream;
  document.getElementById('start').disabled = true;

  var videoTrack = mediastream.getVideoTracks()[0];
 alert(JSON.stringify(videoTrack.getCapabilities()));
  imageCapturer = new ImageCapture(videoTrack);
var videoElement = document.querySelector('#div1');
  videoElement.innerHTML += "<p>".concat(JSON.stringify(videoTrack.getCapabilities()), "</p>");
  // Timeout needed in Chrome, see https://crbug.com/711524
  setTimeout(() => {
    const capabilities = videoTrack.getCapabilities();

    alert(JSON.stringify(capabilities.zoom));


    // Check whether zoom is supported or not.
    if (!capabilities.zoom) {
      return;
    }

    zoomSlider.min = capabilities.zoom.min;
    zoomSlider.max = capabilities.zoom.max;
    zoomSlider.step = capabilities.zoom.step;

    zoomSlider.value = zoomSliderValue.value = videoTrack.getSettings().zoom;
    zoomSliderValue.value = zoomSlider.value;

    zoomSlider.oninput = function() {
      zoomSliderValue.value = zoomSlider.value;
      videoTrack.applyConstraints({advanced : [{zoom: zoomSlider.value}] });
    }
  }, 500);

}
Run Code Online (Sandbox Code Playgroud)

缩放在 ios 中返回未定义。我需要 iOS 设备的缩放支持,如果有其他可能的方式,请建议。