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

问题描述 投票:1回答:1

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

使用了javascript getMediaDevices和getCapabilities 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);

}

缩放在ios中返回未定义。我需要对ios设备进行缩放的支持,如果有其他可行的方法,请提出建议。

javascript ios safari
1个回答
0
投票

遇到相同的问题,iOS无法缩放镜头

© www.soinside.com 2019 - 2024. All rights reserved.