Android-Turn on/off-Kamera Flash-Programm mit Kamera2
Ich bin eine einfache Anwendung, die fungiert als eine Taschenlampe. Ich muss in der Lage sein, ein-und ausschalten der Blitz von der Anwendung eine Schaltfläche hinzu, mit der Kamera2-API, da bekomme ich Fehler mit der alten Kamera-API. Ich würde gerne eine "Taschenlampe" Taschenlampe, wo die Kamera nicht zu öffnen, um den Blitz zu aktivieren. Ich weiß, es ist möglich, viele Handys haben einen Blitz ein/aus in der quick settings-Menü, aber ich finde keine Codes oder tutorials darüber, wie dies zu tun.
Code:
Camera cam = Camera.open();
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();
Läuft bei mir auf einem Nexus 6P mit Android 6.0.1.
EDIT: ich muss an der Kamera2-API. Ich habe nicht gefunden, eine gute Anleitung für diesen noch und nach immer eine Antwort, ich erstelle in einer Q/A-format hier.
Ich habe verwendet, der genaue code :P. das war die erste Frage, die ich gefunden und ich bekomme die Fehlermeldung:
An error occurred while connecting to camera: 0
Fehler aufgetreten? sind Sie sutre, dass Sie alle erforderlichen <uses-permission - >
Ja. Beide Berechtigungen für Kamera und sowohl für Android.hardware.
können Sie fügen Sie den code, den Sie verwenden, hier bitte, so könnten wir sehen, ob Sie es richtig verwendete.
InformationsquelleAutor AngryCupcake274 | 2016-01-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werde ich zu Ihnen spreche, um die Android-Dev. Dokumentation über die CameraManager, da mehr code wird erforderlich sein, aber das ist der basic-code zu aktivieren, den Blitz auf die Kamera-API ist über 21.
Android CameraManager Dokumentation.
Android.hardware.Kamera2 Dokumentation.
sehr wichtige Sache zu erinnern, dass Sie benötigen, verwenden von try/catch zu verwerfen, mögliche Fehler und natürlich ist zu überprüfen, dass keine andere höhere Priorität Anwendung nutzt die Kamera im moment.
im sry, ich redete über die hintere Kamera, aber Sie können Sie immer prüfen, und wenn Sie Lesen Sie die Dokumentation können Sie auch getCameraProperties und sehen, ob das bestimmte Kamera, ein Flash-angebracht oder nicht, kleiner Tipp für die Kodierung immer die Dokumentation Lesen und mit ihm zu spielen wie die Praxis.
Ok. Ich werde versuchen, die vollständige Liste und ändern Sie es zu meinem post. Ich Teste deinen code jetzt...
Es funktioniert! Ich werde die Bearbeitung der original-post mit den vollständigen code zur Unterstützung von Lollipop und älteren API-levels. (Für diejenigen, die nicht wollen, zu unterstützen 5.0+ wie mich)
Dies funktioniert nur mit API >= 23
InformationsquelleAutor Daniel Netzer
mCameraId wird vorzugsweise wiederum auf der Vorderseite der Kamera-Blitz nach Priorität und wenn es keine Vorder-flash dann wieder Kamera-Blitz verwendet wird. Wenn das Gerät hat keinen Blitz dann mCameraId null und setTorchMode wird nicht genannt werden in dem code oben.
InformationsquelleAutor LokiDroid
Einfachsten und banalsten Weg, um eine Taschenlampe app
//xml-code
//java-code
//AndroidManifest
Es ist die falsche Antwort! Frage ist, über neuere Kamera2-API, aber Antwort verwendet ältere Kamera-API-version.
InformationsquelleAutor leolHC