2012-03-25 13 views
-1

Ich versuche, eine Augmented Reality Basis aus diesem Artikel zu erfahren: http://www.devx.com/wireless/Article/42482/0/page/2Android Kamera Orientierung

, wenn es ausgeführt, die Kamera eine entgegengesetzte Orientierung haben. Meine Frage ist, wie man eine feste und normale Ansicht mit der Kamera bekommt. Dies ist die CustomCameraView Klasse:

package com.syariati.camera; 

import android.content.Context; 
import android.graphics.PixelFormat; 
import android.hardware.Camera; 
import android.hardware.Camera.Parameters; 
import android.view.SurfaceHolder; 
import android.view.SurfaceView; 

public class CustomCameraView extends SurfaceView { 
    Camera camera; 
    SurfaceHolder surfaceHolder; 

    public CustomCameraView(Context context){ 
     super(context); 
     surfaceHolder = this.getHolder(); 
     surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
     surfaceHolder.addCallback(surfaceHolderListener); 
    } 

    SurfaceHolder.Callback surfaceHolderListener = new SurfaceHolder.Callback() { 

     @Override 
     public void surfaceDestroyed(SurfaceHolder holder) { 
      // TODO Auto-generated method stub 
      camera.stopPreview(); 
      camera.release(); 
     } 

     @Override 
     public void surfaceCreated(SurfaceHolder holder) { 
      // TODO Auto-generated method stub 
      camera = Camera.open(); 
      try{ 
       camera.setPreviewDisplay(surfaceHolder); 
      } 
      catch(Exception e){ 
       e.printStackTrace(); 
      } 
     } 

     @Override 
     public void surfaceChanged(SurfaceHolder holder, int format, int width, 
       int height) { 
      // TODO Auto-generated method stub 
      Parameters params = camera.getParameters(); 
      params.setPictureFormat(PixelFormat.JPEG); 
      camera.setParameters(params); 
      camera.startPreview(); 
     } 
    }; 
} 

Sollte ich eine weitere Methode auf Params ??

Sorry für mein schlechtes Englisch. Vielen Dank.

So ist das Problem gelöst.

add:

camera.setDisplayOrientation(90); 

Android - Camera preview is sideways

Antwort

0

Goto Ihre Anwendung AndroidManifest.xml Datei und folgen Sie dann

Application tab -> select CustomCameraView activity -> 
attributes for CustomCameraView activity -> screen orientation -> select portrait. 

Und laufen it- Njoy ...

+0

es funktionierte nicht, wenn ich Porträt hinzufüge. Landschaft funktioniert jedoch gut, aber mit der Änderung der Bildschirmausrichtung natürlich. – farissyariati

3

Set Orientierung Grad gemäß Ihrer Anforderung, weil ich hatte Benutzer 90 für Frontkamera und 270 Grad für Rückkamera: