我正在使用這個基本代碼來使用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>);
}
知道什么會導致它嗎?
uj5u.com熱心網友回復:
我在這里找到了問題執行緒。
問題似乎Camera.requestCameraPermissionsAsync()在于沒有正確關閉相機,因此后續嘗試使用相機失敗。(這是我的猜測,我沒有除錯過代碼)。
一旦我禁用Camera.requestCameraPermissionsAsync()呼叫,代碼就可以作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/419518.html
標籤:
上一篇:Router.use()需要一個中間件函式,但未定義
下一篇:如何在一行中添加兩個單選按鈕?
