2015-11-24 4 views
19

Ich habe eine Kamera-Anwendung, die auf Landschaft gesperrt ist. Wenn nötig, drehe ich die rohen Bytes von onPreviewFrame() und benutze sie um ein Video zu kodieren.Upside-Down-Kamera Vorschau Byte-Array

Dieser Ansatz schlägt jedoch bei den Nexus 5X und 6 Geräten fehl, weil ihr umgekehrter Sensor mir umgedrehte Frames gibt.

Wie die Vorschau Drehen wird mir in diesem Fall nicht helfen, wie here beschrieben:

Dies ist nicht die Reihenfolge der Byte-Array in weitergegeben beeinflusst onPreviewFrame (byte [], Kamera)

Ich würde gerne wissen, ob es eine Möglichkeit gibt zu erkennen, dass der Kamerasensor umgekehrt ist und/oder der rohe Rahmen auf dem Kopf steht, so dass eine zusätzliche Korrektur hinzugefügt wird, wenn sie gedreht werden.

+2

Wir haben das gleiche Problem, auch mit Camera2 API. Es scheint, dass [CameraInfo.orientation] (https://developer.android.com/reference/android/hardware/Camera.CameraInfo.html#orientation) und [CameraCharacteristics.SENSOR_ORIENTATION] (https://developer.android.com/) Referenz/android/hardware/camera2/CameraCharacteristics.html # SENSOR_ORIENTATION) geben keine korrekten Informationen über die wahre Sensorausrichtung (wir bekommen 90 für sowohl die hintere als auch die vordere Kamera auf Nexus 6). Bis jetzt ist die einzige Möglichkeit, die wir kennen, eine Liste von "Spezialfallgeräten" zu haben. – DoDo

+1

Ich bemerkte, dass die Mehrheit der Telefone, die ich für Tests zur Verfügung habe, 90 für rückwärts gerichtete Kamera und 270 für frontal gerichtete Kameras zurückgeben. Ich frage mich, ob dies ein Hinweis auf seine Rotation ist. –

+3

Es scheint, das ist richtig. Beim Nexus 6 gibt die Frontkamera 90 und bei anderen Geräten 270 zurück. Vielleicht kann dies zur Bestimmung der Orientierung verwendet werden. Überprüfen Sie auch [diese SO-Antwort] (http://stackoverflow.com/a/13176590/213057) – DoDo

Antwort

0

Die Kamerasensoren des Nexus 5x und 6 sind um 180 Grad gedreht. Viele Apps hatten dieses Problem, als das Gerät veröffentlicht wurde. Sie sollten dies beim Erstellen einer Kamera-App berücksichtigen und die Oberflächenrotation entsprechend einstellen.

Für weitere Informationen zu https://stackoverflow.com/a/35431231/1492034