2012-03-25 9 views
-1

Je suis en train d'apprendre une base de réalité augmentée de cet article: http://www.devx.com/wireless/Article/42482/0/page/2Caméra Android Orientation

quand il fonctionne, l'appareil a pris une orientation opposée. Ma question est comment obtenir une vue fixe et normale avec l'appareil photo. Ceci est la classe CustomCameraView:

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(); 
     } 
    }; 
} 

Dois-je ajouter une autre méthode sur les paramètres ??

Désolé pour mon mauvais anglais. Je vous remercie.

Voici comment le problème est résolu.

ajouter:

camera.setDisplayOrientation(90); 

Android - Camera preview is sideways

Répondre

0

Aller à votre fichier AndroidManifest.xml d'application, puis suivez

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

Et courir it- Njoy ...

+0

cela ne fonctionnait pas lorsque j'ajoute portrait. Cependant, le paysage fonctionne bien, mais avec le changement de l'orientation de l'écran bien sûr. – farissyariati

3

Set orientation Degré selon votre requirment parce que j'avais utilisateur 90 pour caméra frontale et 270 degrés pour la caméra arrière:

Camera.Parameters params = camera.getParameters(); 
params.set("rotation", 90); 
camera.setParameters(params);