React-native-camera显示为黑屏

az31mfrm  于 2023-02-09  发布在  React
关注(0)|答案(2)|浏览(349)

我正在尝试为我的应用程序实现eKYC,其中包括3个摄像头屏幕(2个屏幕带有背面摄像头,1个屏幕带有正面摄像头)
在一些安卓设备上(三星Note 8、小米Redmi Pro 8、Vsmart Joy 3 ......),第三块屏幕的摄像头(正面摄像头)不工作(黑屏)。
我试图从Android logcat读取错误,我收到这个错误:

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渲染摄像机
x一个一个一个一个x一个一个二个一个x一个一个三个一个
但是第三块屏幕上的摄像头(正面摄像头)还是不能用,另外两块工作得很完美,有没有办法修复这个,提前非常感谢!
注意:如果我改变顺序,先渲染第三个屏幕,正面摄像头工作正常。

hc8w905p

hc8w905p1#

我找到了解决问题的方法:在react-native-camera的以下文件中:android/src/main/java/com/google/android/cameraview/Camera1.java
我将pausePreview函数修改如下:

@Override
    public void pausePreview() {
        synchronized(this){
            mIsPreviewActive = false;
            mShowingPreview = false;

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

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

qmb5sa22

qmb5sa222#

AndroidManifest.xml中的android:hardwareAccelerated=“false”使相机不再显示。检查您的AndroidManifest并将其设置回true可能有助于相机重新工作。

相关问题