Burada barkod tarayıcı orijinal örnekle oynuyorum ile/Flaş:Erişim Otofokus tarihinde Vizyon BarCode Reader
Onlar böyle kamera fabrika içinde Otofokus/Flaş başlatmak edebiliyoruz:
// Creates and starts the camera. Note that this uses a higher resolution in comparison
// to other detection examples to enable the barcode detector to detect small barcodes
// at long distances.
CameraSource.Builder builder = new CameraSource.Builder(getApplicationContext(), barcodeDetector)
.setFacing(CameraSource.CAMERA_FACING_BACK)
.setRequestedPreviewSize(1600, 1024)
.setRequestedFps(15.0f);
// make sure that auto focus is an available option
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
builder = builder.setFocusMode(
autoFocus ? Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE : null);
}
mCameraSource = builder
.setFlashMode(useFlash ? Camera.Parameters.FLASH_MODE_TORCH : null)
.build();
Bununla birlikte, cameraSource oluşturucudaki bu yöntem geçerli sürümde gider ve bu nedenle bu ayarlara erişilemez. Ayrıca, kullanım sırasında FlashMode'u değiştirmem gerekiyor, bu da bunu yapmanın yolu değil. Çalışır rağmen
public static Camera getCamera(@NonNull CameraSource cameraSource) {
Field[] declaredFields = CameraSource.class.getDeclaredFields();
for (Field field : declaredFields) {
if (field.getType() == Camera.class) {
field.setAccessible(true);
try {
Camera camera = (Camera) field.get(cameraSource);
if (camera != null) {
return camera;
}
return null;
} catch (IllegalAccessException e) {
e.printStackTrace();
}
break;
}
}
return null;
}
, bu yardım etmez: Ben kamerayı erişen bu çirkin çözüm buldu getParameters().setFocusMode()
çağrılırken bu özel durum alıyorum: Açıkçası
Attempt to invoke virtual method 'android.hardware.Camera$Parameters android.hardware.Camera.getParameters()' on a null object reference
ne yapıyorum bir değil Bunu yapmanın doğru yolu, ancak bununla ilgili bir doküman yok gibi görünüyor.
İpuçları için teşekkürler.
Bu benim için harika çalıştı. Teşekkürler! Camera1 API'si kullanımdan kaldırılmış olsa da. Camera2 güncellemesinde herhangi bir şans var mı? –
'getCamera' return' null' –
Bunun resmi olarak desteklenmemesi çok garip görünüyor, ama bu benim için çalıştı! – SleepingLlama