Android Fotoapparat 相机 - 在荧光灯下闪烁

Android Fotoapparat Camera - Flickering under fluorescent lights

我一直在尝试在我的应用程序上使用 Fotoapparat (Java),但我在某些设备上出现随机黑条(闪烁,例如当您将相机对准 LED 显示屏时),当照片是在人工照明下拍摄时。 我尝试在相机配置中使用 antiBandingMode(所有 4 个默认选项:自动、50hz、60hz 和关闭),但问题仍然存在。

有趣的是,当我在这些设备上使用常规相机应用程序时,不会出现此问题,只有在我的应用程序中使用 Fotoapparat 时才会出现。

样本:

相机配置代码:

private CameraConfiguration cameraConfiguration = CameraConfiguration
            .builder()
            .photoResolution(standardRatio(
                    highestResolution()
            ))
            .focusMode(firstAvailable(
                    continuousFocusPicture(),
                    autoFocus(),
                    fixed()
            ))
            .antiBandingMode(firstAvailable(
                    auto(),
                    hz60(),
                    hz50(),
                    none()
            ))
            .flash(firstAvailable(
                    off()
            ))
            .previewFpsRange(highestFps())
            .sensorSensitivity(highestSensorSensitivity())
            .build();

Fotoapparat 初始值设定项:

private Fotoapparat createFotoapparat() {
        return Fotoapparat
                .with(this)
                .into(cameraView)
                .previewScaleType(ScaleType.CenterInside)
                .lensPosition(back())
                .focusMode(firstAvailable(
                        continuousFocusPicture(),
                        autoFocus(),
                        fixed()
                ))
                .logger(loggers(
                        logcat(),
                        fileLogger(this)
                ))
                .cameraErrorCallback(new CameraErrorListener() {
                    @Override
                    public void onError(@NotNull CameraException e) {
                        Toast.makeText(PictureActivity.this, getString(R.string.txt_erro_tirar_foto), Toast.LENGTH_SHORT).show();
                    }
                })
                .build();
    }

有什么建议可以帮助我处理这个问题吗?如果可能的话,我真的很想继续使用 Fotoapparat。

谢谢!

经过一些测试,我发现问题出在sensorSensitivity。 使用 .sensorSensitivity(manualSensorSensitivity(500)) 我摆脱了(大部分)线。