我有一个简单的 react native 应用程序(Android),并试图在闪光灯打开的情况下拍照. 如果将闪光灯设置为"关闭",效果会非常好,但当我将闪光灯设置为"打开"时,闪光灯就会打开,但没有人拍照,因为它总是超时:

拍摄照片时出错:[capture/timed-out:[capture/timed-out]图像捕获因超时而中止.]

我使用的是react 式本地视觉摄像机.它既不能在我的物理设备上运行,也不能在模拟设备上运行.

我就是不知道问题出在哪.

以下是代码:


import React, {useRef} from 'react';
import { View, Button } from 'react-native';

import {Camera, useCameraDevice, useCameraPermission, useCameraFormat} from 'react-native-vision-camera';


function CameraScreen(){
    const camera = useRef(null);
    const device = useCameraDevice('back');

    // Handle requesting permissions ...

    const takePhoto = async () => {
        let noCameraAvailable = !camera.current;
        if (noCameraAvailable) {
            console.log("No camera available");
            return;
        }
        try {
            const photo = await camera.current.takePhoto({
                // Flash turns on but no photo is taken due to timeout, 
                // if off however it works
                flash: 'on', 
            });
            console.log("Photo: ", photo);
        } catch (error) {
            console.error("Error taking photo: ", error);
        }
    }

    return (
        <View style={styles.cameraLayoutContainer}>
            <Camera
            style={styles.childrenContainer}
                device={device}
                isActive={true}
                ref={camera}
                photo={true}
            />
            <Button title="Take photo" onPress={takePhoto} />
        </View>
        
    );
}

const styles = {
    cameraLayoutContainer: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
    },
    childrenContainer: {
        position: 'absolute',
        width: '100%',
        height: '100%',
    },
}

export default CameraScreen;

推荐答案

一些Android设备有问题请参阅Github问题:Error on taking picture - Precapture timed out after 5 seconds

Ios相关问答推荐

我如何确保用户继续他们在应用程序中停止的地方?

与iPadOS中带有扣件的模式相似的组件是什么?

如何在SwiftUI中扩展双击的可检测区域?

Swift导航远离视频导致崩溃

如何从Windows PC在iPhone上安装Flutter 应用程序

SwiftData共享扩展阻止应用程序打开SQLite文件

Flutter iOS 键盘问题:. TextInputType.number 中缺少字符

查找东南亚语言(泰语、高棉语、老挝语、缅甸语)中的单词边界

如何在 SwiftUI 中创建显示当前电池电量的电池徽章

满足条件时 SwiftUI 动画背景 colored颜色 变化

SwiftUI - 使用切换switch 切换键盘类型(默认/数字)?

从父母到子元素的 Swift Pass 事件

在使用 Github Actions 时,我面临权限被拒绝错误

如何在通用应用程序中同时支持 iPad 和 iPhone 视网膜图形

iOS:应用程序在安装应用程序时未征求用户许可.每次都获得 kCLAuthorizationStatusNotDetermined - Objective-c & Swift

如何使用 Swift 从assets资源 中加载特定图像

Swift tableView 分页

iOS 应用程序中的手动语言 Select (iPhone 和 iPad)

如何在 iOS 中判断暗模式?

iOS Swift - 获取当前本地时间和日期时间戳