【发布时间】:2020-03-04 13:57:25
【问题描述】:
展览相机:“^8.0.0”
sdkVersion: "36.0.0"
大家好,当我尝试时:
import { Camera } from 'expo-camera';
...
const cameraIsAvailable = await Camera.isAvailableAsync()
const availablesCameraTypes = await Camera.getAvailableCameraTypesAsync()
console.log("cameraIsAvailable: ", cameraIsAvailable)
console.log("availablesCameraTypes: ", availablesCameraTypes)
我得到了休闲错误:
expo-camera.isAvailableAsync 在 android 上不可用,您确定已正确链接所有本机依赖项吗?
方法或属性 expo-camera.getAvailableCameraTypesAsync 在 android 上不可用,您确定已正确链接所有原生依赖项吗?
删除后问题就消失了:
state = {
...
cameraType: Camera.Constants.Type.front,
};
...
<Camera
type={this.state.cameraType}
flashMode={flashMode}
style={styles.preview}
ref={camera => this.camera = camera}
/>
并通过以下方式更改它:
state = {
...
cameraType: Camera.Constants.Type.back,
};
我将“cameraType”更改为
componentDidMount = () => {
this.props.navigation.addListener('didFocus', async () => {
await setTimeout(() => {
this.setState({ cameraType: Camera.Constants.Type.front })
}, 100)
});
}
这似乎是来自展览相机的错误...... 所以当我尝试调用这些方法时:
const cameraIsAvailable = await Camera.isAvailableAsync()
const availablesCameraTypes = await Camera.getAvailableCameraTypesAsync()
【问题讨论】:
-
你安装正确了吗? docs.expo.io/versions/latest/sdk/camera你有没有机会在模拟器上测试这个?
-
@PetrBela 查看我的编辑并查看曝光相机的行为..
-
@PetrBela 是的,我正确安装了它,但使用模拟器我无法正确使用相机..
-
FWIW,我看到了类似的问题,很高兴知道解决方案。
标签: android react-native expo