如何让我的 react-native-camera 快速捕捉?

Posted

技术标签:

【中文标题】如何让我的 react-native-camera 快速捕捉?【英文标题】:How can I make my react-native-camera capture fast? 【发布时间】:2019-01-21 07:12:12 【问题描述】:
  takePicture = async function() 
    if (this.camera) 
       const options =  quality: 0.5, base64: true,  ; 
       const data = await this.camera.takePictureAsync(options);         
        this.setState(path: data.uri)
       
  

只要我调用我的takePicture 函数来捕获图像,相机仍然会继续移动并且不会暂停。我希望相机暂停,然后显示图像。

这里有处理Promise 的问题吗?如果是,我不知道在哪里以及如何做。

我也尝试过使用pauseAfterCapture:true,但捕获图像仍需要 1 或 2 秒。

我知道这是一个老问题,但还没有解决方案可以帮助我。请帮忙。

【问题讨论】:

【参考方案1】:

我还发现可用的相机组件非常慢,这就是我创建react-native-fast-camera 的原因,我只是将它开源以供公众使用。它是非常可定制的,完全可以通过 react 原生组件来控制。

注意:目前 Android 版本仍在开发中。

这是一个例子:

import FastCamera,  Methods  from 'react-native-fast-camera';


<FastCamera style= height: cameraHeight, width: cameraWidth 
    onSaveSuccess=imageUrl => 
      console.log("onSaveSuccess: ", imageUrl);
    
    onGalleryImage=imageUrl => 
      console.log("onGalleryImage: ", imageUrl);
    
    onFlashToggle=isflashOn => 
      console.log('flash info: ', isflashOn);
    
  >
    /* here render your buttons to control the camera component */
    <Button 
      title="capture picture"
      onPress=()=> Methods.takePicture();
    />
  </FastCamera>

这是一个截图:

【讨论】:

以上是关于如何让我的 react-native-camera 快速捕捉?的主要内容,如果未能解决你的问题,请参考以下文章

如何访问 react-native-camera 的视频功能?

如何使用 react-native-camera 录制视频

使用 react-native-camera,如何访问保存的图片?

react-native-camera 使我的应用程序崩溃

如何为 react-native-camera 使用 refreshAuthorizationStatus 函数

如何使用 React-Native-Camera 捕获获取元数据?