Laut Android Developer Site:Android Kamera Vorschau Rotation
nach Android 2.2 gibt es die Funktion
"setDisplayOrientation"
die Kameravorschau Drehung einzustellen.
Und auch nach der Android Developer Site finden wir folgenden Quellcode.
android.hardware.Camera.CameraInfo info =
new android.hardware.Camera.CameraInfo();
android.hardware.Camera.getCameraInfo(cameraId, info);
int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
int degrees = 0 ;
switch (rotation) {
case Surface.ROTATION_0 : degrees = 0 ; break ;
case Surface.ROTATION_90 : degrees = 90 ; break ;
case Surface.ROTATION_180 : degrees = 180 ; break ;
case Surface.ROTATION_270 : degrees = 270 ; break ;
}
int result ;
if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
result = (info.orientation + degrees) % 360 ;
result = (360 - result) % 360 ; // compensate the mirror
} else { // back-facing
result = (info.orientation - degrees + 360) % 360 ;
}
aber ich kann nicht mit irgendeiner Art von Geräten. Wie Samsung Galaxy Y S5360, S5660, YP-G1, YP-G70, etc
nur ein Teil der Maschine nicht funktioniert, Galaxy Nexus, SII, oder ein High-End-Gerät, es funktioniert.
Wird SetDisplayOrientation nicht unterstützt, oder die Geräte-Firmware ist nicht bereit?
PS. Alle Geräte sind Android 2.3.1 oder höher.
Hilfe.
Ich habe das gleiche Problem auf meinem Galaxy Y. Haben Sie etwas herausgefunden? Ich würde gerne wissen, ob setDisplayOrientation erfolgreich war, um es in die Landschaft zu sperren, wenn nicht. –
endlich, nicht gelöst. Machen Sie die Aktivität der Kameraoberfläche nur zur horizontalen Ansicht. –
Hat jemand eine Liste von Geräten, auf denen dieser Fehler auftritt? Jede Hilfe wäre willkommen. – patrickfdsouza