我一直在尝试在我的应用程序上使用Fotoapparat(Java),但我在某些设备上得到随机的黑条(闪烁,就像你将相机指向LED显示屏一样),当拍摄照片时人工照明。 我试图在相机配置中使用antiBandingMode(所有4个默认选项:auto,50hz,60hz和off),但问题仍然存在。
有趣的是,当我在这些设备上使用常规相机应用程序时,只有在我的应用程序中使用Fotoapparat时才会出现此问题。
样品:
CameraConfiguration代码:
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。
谢谢!
答案 0 :(得分:0)
经过一些测试,我发现问题是sensorSensitivity。 使用.sensorSensitivity(manualSensorSensitivity(500))我摆脱了(大部分)线条。