Ich bin mit dem neuen camera2 api auf Android 6.1, sdk 23.Android camera2 manuellen Blitz immer
Ich habe zwei Anfragen: eine Vorschau und ein Standbild-Erfassungs-Anfrage. Ich möchte es so machen, dass der Blitz bei jeder Standbildanforderung auslöst, aber ohne Vorblitz. Gerade jetzt, meine Anfrage sieht wie folgt aus:
CaptureRequest.Builder requester = mCameraDevice.createCaptureRequest(mCameraDevice.TEMPLATE_STILL_CAPTURE);
requester.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON_ALWAYS_FLASH);
requester.set(CaptureRequest.CONTROL_CAPTURE_INTENT, CaptureRequest.CONTROL_CAPTURE_INTENT_STILL_CAPTURE);
requester.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, CaptureRequest.CONTROL_AE_STATE_FLASH_REQUIRED);
requester.set(CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER, CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL);
requester.addTarget(mCaptureBuffer.getSurface());
mCaptureSession.capture(requester.build(), null, null);
Es scheint auf einem Handy (Motorola Moto G), aber nicht auf einem anderen zu arbeiten (ein Nexus 5 - der Blitz lässt sich nicht überhaupt). Ich weiß, dass der Blitz des Nexus funktioniert, weil ich ihn mit anderen Kamera-Apps auslösen kann, also vermute ich, dass es einige Standardeinstellungen gibt, die ich nicht einstelle.
Gibt es einen anderen Weg, wie ich das tun kann/mehr Flags kann ich einstellen?
Danke!
Edit:
Es stellt sich heraus, dass viele der Probleme Ich wurde aus der Arbeit mit Geräten stammten, die nur
LIMITED
Unterstützung für camera2 hatte. Nur weil Sie mit der Kamera 2 auf die Kamera zugreifen können, bedeutet das nicht, dass Sie alle Funktionen steuern können. Check out
this Antwort für mehr
vielleicht haben Sie ein Beispiel? oder sag mir einfach, wo genau ich diese Codezeilen einbeziehen soll? auf 'stillCapture()' oder 'onConfigurate()' oder 'unlockFocus()' medhod? weil ich nichts finden kann, der meinen Code arbeiten lassen könnte ... –