`

android Camera 旋转 90 °问题

阅读更多
public class DefaultActivity extends Activity {

MySurfaceView surface = null;
public Camera camera;

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
      
        surface = new MySurfaceView(this);
       
// 这个很重要
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        setContentView(surface);
    }

/**
* Surface View
*/
    class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback {

private SurfaceHolder holder;

public MySurfaceView(Context context) {
super(context);

holder = getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}

public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
Camera.Parameters parameters = camera.getParameters();
        parameters.setPictureFormat(PixelFormat.JPEG);

        camera.setParameters(parameters);
}

public void surfaceCreated(SurfaceHolder holder) {
try {
camera = Camera.open();
camera.setPreviewDisplay(holder);
camera.startPreview();


} catch (IOException e) {
e.printStackTrace();
}
}

public void surfaceDestroyed(SurfaceHolder holder) {

if (camera != null) {
camera.stopPreview();
camera.release();
camera = null;
}
}
    }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics