首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React-native-camera显示为黑屏

React-native-camera显示为黑屏
EN

Stack Overflow用户
提问于 2021-01-11 15:04:44
回答 1查看 172关注 0票数 0

我正在尝试为我的应用程序实现一个eKYC,它包括3个摄像头屏幕(2个屏幕带背面摄像头,1个屏幕带前端摄像头)

在一些Android设备上(三星Note 8,小米Redmi Pro 8,Vsmart Joy 3,...),第三个屏幕的摄像头(前置摄像头)无法工作(黑屏)。

我试图从Android logcat中读取错误,但收到以下错误:

代码语言:javascript
复制
2021-01-11 12:29:00.704 3973-13086/com.******.vn W/CameraBase: An error occurred while connecting to camera 1: Status(-8): '8: connectHelper:1648: Too many cameras already open, cannot open camera "1"'

我尝试过的东西:当当前屏幕被聚焦时,使用NavigationEventswithNavigationFocus来渲染相机

代码语言:javascript
复制
const [isFocus, setFocus] = useState<boolean>(false)
代码语言:javascript
复制
<NavigationEvents onWillFocus={onFocus} onWillBlur={onBlur}></NavigationEvents>
代码语言:javascript
复制
{isFocus && props.isFocused && (
    <RNCamera
      ref={refCamera}
      style={styles.preview}
      type={RNCamera.Constants.Type.front}
      captureAudio={false}
      onCameraReady={() => console.log('oncameraready')}
      onFacesDetected={onFaceDetected}>
      <View style={styles.progressBarContainer}>
        <Progress.Bar
          color={Colors.asEastOcean}
          progress={progress}
          width={200}
          style={styles.progressBar}
          borderColor={Colors.white}
          unfilledColor={Colors.white}
        />
      </View>
    </RNCamera>
  )}

但是第三个屏幕上的摄像头(前侧摄像头)仍然不工作。另外两个运行得很好。有没有办法解决这个问题,非常感谢提前!

注:如果我更改顺序并先渲染第三个屏幕,前端摄像头工作正常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-19 14:46:11

我找到了一种解决问题的方法:在以下react-native-camera文件中:android/src/main/java/com/google/android/cameraview/Camera1.java

我对pausePreview函数进行了如下修改:

代码语言:javascript
复制
    @Override
    public void pausePreview() {
        synchronized(this){
            mIsPreviewActive = false;
            mShowingPreview = false;

            if(mCamera != null){
                mCamera.stopPreview();
            }
            releaseCamera();
        }
    }

如果我有两个使用RNCamrera组件的连续屏幕,我使用的是navigation.replace()而不是navigation.navigate()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65662581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档