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秒来捕获图像。
我知道这是一个老问题,但是尚无解决方案可以帮助我。请帮忙。
答案 0 :(得分:0)
我还发现可用的相机组件非常慢,这就是为什么我创建react-native-fast-camera并将其开源以供公众使用的原因。它是非常可定制的,并且可以通过响应本机组件完全控制。
注意:当前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>
这是屏幕截图: