Reactjs android应用程序中的摄像头不工作

Reactjs android应用程序中的摄像头不工作,reactjs,ionic-framework,Reactjs,Ionic Framework,我有这个代码,它是在PC浏览器工作,但在安卓系统它不会打开相机。代码是在离子框架中使用React组件编写的。打开摄像机的主要部件如下: import React, { useRef, useState,useEffect } from 'react'; import './index.scss'; const CAPTURE_OPTIONS = { audio: true, video: { facingMode: "user" } }; const Camera: React.FC

我有这个代码,它是在PC浏览器工作,但在安卓系统它不会打开相机。代码是在离子框架中使用React组件编写的。打开摄像机的主要部件如下:

import React, { useRef, useState,useEffect } from 'react';
import './index.scss';

const CAPTURE_OPTIONS = {
  audio: true,
  video: { facingMode: "user" }
};

const Camera: React.FC = () => {
  const videoRef = useRef<any>(null);

  const [mediaStream, setMediaStream] = useState<any>(null);

  useEffect(() => {
    async function enableStream() {
      try {
        const stream = await navigator.mediaDevices.getUserMedia(CAPTURE_OPTIONS);
        setMediaStream(stream);
      } catch (err) {
        // Removed for brevity
      }
    }

    if (!mediaStream) {
      enableStream();
    } else {
      return function cleanup() {
        mediaStream.getTracks().forEach((track: any) => {
          track.stop();
        });
      }
    }
  }, [mediaStream, CAPTURE_OPTIONS]);

  if (mediaStream && videoRef.current && !videoRef.current.srcObject) {
    videoRef.current.srcObject = mediaStream;
  }

  const handleCanPlay = () => {
    videoRef.current.play();
  }

  return (
    <div>
      <video ref={videoRef} onCanPlay={handleCanPlay} autoPlay playsInline loop muted className={"camera"} />
    </div>
  );
}

export default Camera;
import React,{useRef,useState,useffect}来自'React';
导入“/index.scss”;
常量捕获选项={
音频:是的,
视频:{facingMode:“用户”}
};
常量摄影机:React.FC=()=>{
当使用webrtc和
navigator.mediaDevices.getUserMedia()
您需要确保您正在使用adapter.js文件

你可以用, 或从复制文件-。 如果你想在全球范围内把它放在你的爱奥尼亚项目的公共文件夹中