android Camera 旋转 90 °问题

来源:互联网 发布:mysql 查看表索引 编辑:程序博客网 时间:2024/05/16 17:53
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;
}
}
    }
}

引自:不详
原创粉丝点击