我使用后置和前置摄像头。 当我用后置摄像头拍照时一切正常(预览和结果) 但在保存的图像旋转时,前置摄像头预览正常。为什么会这样?
我在surfaceCreated中使用:
mCamera.setDisplayOrientation(90);
在相机参数中使用
params.setRotation(90);
当我打电话给前置摄像头时,我有这个
Button switchbtn = (Button)findViewById(R.id.switch_camera);
switchbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mCamera != null){
mCamera.setPreviewCallback(null);
mCamera.stopPreview();
mCamera.release();
mCamera = null;
try{
int mCameraFacing = Camera.CameraInfo.CAMERA_FACING_BACK;
if (mCameraFacing == Camera.CameraInfo.CAMERA_FACING_BACK){
mCameraFacing = Camera.CameraInfo.CAMERA_FACING_FRONT;
}else {
mCameraFacing = Camera.CameraInfo.CAMERA_FACING_BACK;
}
mCamera = Camera.open(mCameraFacing);
mCamera.setPreviewDisplay(mPreview.getHolder());
mCamera.setDisplayOrientation(90);
mCamera.startPreview();
}catch (final Exception e){
e.printStackTrace();
}
}
}
});
另外一个问题是如果相机切换到不会再返回..:/