繁体   English   中英

错误:expo-camera.isAvailableAsync 和 expo-camera.getAvailableCameraTypesAsync 在 android 上不可用

[英]errors: expo-camera.isAvailableAsync and expo-camera.getAvailableCameraTypesAsync is not available on android

世博相机:“^8.0.0”

SDK版本:“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)

我得到了以下错误:

  1. expo-camera.isAvailableAsync 在 android 上不可用,您确定您已正确链接所有本机依赖项吗?

  2. 方法或属性 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)
    });
  }

这似乎是 expo-camera 的一个错误......所以当我尝试调用这些方法时:

const cameraIsAvailable = await Camera.isAvailableAsync()
    const availablesCameraTypes = await Camera.getAvailableCameraTypesAsync()

我收到以下错误: 错误:expo-camera.isAvailableAsync 和 expo-camera.getAvailableCameraTypesAsync 在 android 上不可用

您尝试使用的方法Camera.isAvailableAsyncCamera.getAvailableCameraTypesAsync在文档中标记为Web only ,因此调用它们只能在 Web 上工作。

react-native上下文(而不是浏览器上下文)中运行的代码中,只需检查权限即可!

文档截图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM