拍照延迟 - React Native Camera / Expo Camera

15

我正在尝试实现与Facebook或Instagram相同的功能:
即时预览相机拍摄的图像

在调用此功能时,我的图片已经被正确地拍摄:

takePicture = async function() {
   if (this.camera && this.state.isConnected === true) {
      const options = { quality: 0, base64: false };
      const data = await this.camera.takePictureAsync(options);
      this.toLoading(data.uri);
   }
};

如图所示,相机质量选项已设置为0,以确保问题不是由图像处理引起的。

我还将我的RNCamera属性设置得更低,如下所示:

      autoFocus={"off"}
      skipProcessing={true}
      type={"back"}
      flashMode={"off"}
      zoom={0}
      whiteBalance={"auto"}
      ratio={"16:9"}

我在安卓和苹果两种设备上进行了测试,尽管苹果设备似乎执行速度更快一些,但仍然无法立即完成。
有人能够用React Native复制Facebook/Instagram的相机预览吗? 我在GitHub库中寻找过,发现有很多人和我面临相同的问题,但仍没有解决方案。我还注意到有人尝试弹出Expo项目以进入本地代码,但延迟仍然存在。


1
请查看我下面的回答评论。谢谢。 - ykay says Reinstate Monica
嗨,你找到任何改进它的方法了吗? - SkyTreasure
目前还没有任何改进措施。我使用了一些本地的Android代码来实现这个。 - Jaro
1个回答

6
现在有一个skipProcessing标志,旨在帮助图像更快地显示。
this.camera.takePictureAsync({skipProcessing: true})

SDK 30的文档指出,这可能会导致图像旋转不正确。

https://docs.expo.io/versions/latest/sdk/camera


4
在takepictureasync方法中应设置跳过处理(Skip processing),就像我在答案中所示。你目前在相机上的设置是不正确的。如果您能取消您的踩(downvote),我会感激不尽,谢谢。 - ykay says Reinstate Monica

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接