2012-03-25 5 views
-1

Я пытаюсь научиться дополненной реальности основные из этой статьи: http://www.devx.com/wireless/Article/42482/0/page/2Android Ориентация камеры

, когда он запускается, камера приняла противоположную направленность. Мой вопрос - как получить фиксированный и нормальный вид с камерой. Это класс 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(); 
     } 
    }; 
} 

Должен ли я добавить еще один метод для параметров?

Извините за мой плохой английский. Спасибо.

Так решается эта проблема.

добавить:

camera.setDisplayOrientation(90); 

Android - Camera preview is sideways

ответ

0

Goto файл приложения AndroidManifest.xml, а затем следовать

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

И запустить Njoy это- ...

+0

Это не сработало, когда я добавляю портрет. Однако пейзаж отлично работает, но с изменением ориентации экрана с курса. – farissyariati

3

Установить ориентацию Степень согласно вашему требованию, потому что я пользователь 90 для передняя камера и 270 градусов для камеры заднего вида:

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

 Смежные вопросы

  • Нет связанных вопросов^_^