How to achieve open camera and zoom in/out facility for ios safari browser using javascript

早过忘川 提交于 2020-06-13 00:31:51

问题


Trying to open camera using html5/javascript on ios safari browser but zoom is not supported.

Used javascript getMediaDevices and getCapabilities API. But not working for iOs

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);

}

zoom is returning undefined in ios. I need zoom support for ios devices, if any other way is possible please suggest.

来源:https://stackoverflow.com/questions/55625473/how-to-achieve-open-camera-and-zoom-in-out-facility-for-ios-safari-browser-using

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!