Reactjs android应用程序中的摄像头不工作
我有这个代码,它是在PC浏览器工作,但在安卓系统它不会打开相机。代码是在离子框架中使用React组件编写的。打开摄像机的主要部件如下: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
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文件
你可以用,
或从复制文件-。
如果你想在全球范围内把它放在你的爱奥尼亚项目的公共文件夹中