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)) 我摆脱了(大部分)线。
我一直在尝试在我的应用程序上使用 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)) 我摆脱了(大部分)线。