我使用这个基本代码来使用Expo Camera组件访问摄像机。
它在计算机上工作,但当我在iPhone/iPad上打开它时,它会显示空空间(尽管它请求权限并显示camera in use符号)。我试过Safari和Chrome。我使用https
import { Camera } from 'expo-camera';
export default function Add({ navigation }){
const [cameraPermission, setCameraPermission] = useState(null);
const [camera, setCamera] = useState(null);
const permisionFunction = async () => {
// here is how you can get the camera permission
const cameraPermission = await Camera.requestCameraPermissionsAsync();
setCameraPermission(cameraPermission.status === 'granted');
if (
cameraPermission.status !== 'granted'
) {
alert('Permission for media access needed.');
}
};
useEffect(() => {
permisionFunction();
}, []);
return (
<View >
<Camera
ref={(ref) => setCamera(ref)}
/>
</View>);
}知道是什么导致的吗?
发布于 2022-01-20 21:51:33
我找到了问题线程这里。
问题似乎是Camera.requestCameraPermissionsAsync()没有正确关闭相机,因此随后使用相机的尝试都失败了。(这是我的猜测,我还没有调试代码)。
一旦我禁用了Camera.requestCameraPermissionsAsync()调用,代码就可以工作了。
https://stackoverflow.com/questions/70787330
复制相似问题