【发布时间】:2014-07-11 09:13:02
【问题描述】:
当我在相机上设置参数以修改它的不同方面,然后通过 SurfaceView 显示它时,一旦启动应用程序,它就不会显示相机的预览。
@Override
public void onStart() {
super.onStart();
imageViewCapturedPhoto = (ImageView) getActivity().findViewById(R.id.imageViewCapturedPhoto);
imageViewCapturedPhoto.setVisibility(View.INVISIBLE);
surfaceView = (SurfaceView) getActivity().findViewById(R.id.surfaceView);
Matrix mirrorMatrix = new Matrix();
mirrorMatrix.preScale(-1.0f, 1.0f);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceView.invalidate(); }
private void initCamera(int cameraWidth,int cameraHeight){
if(isPreview == false){
int numberOfCamerasInDevice = Camera.getNumberOfCameras();
camera = Camera.open(1);
surfaceView.invalidate();
try {
camera.setPreviewDisplay(surfaceHolder);
Camera.Parameters parameters = camera.getParameters();
Camera.Size size = getBestPreviewSize(cameraWidth, cameraHeight);
parameters.setPreviewSize(size.width, size.height);
camera.setParameters(parameters);
camera.setDisplayOrientation(90);
camera.startPreview();
isPreview = true;
} catch (Exception e) {
Log.i("myApp", "init_camera: " + e);
return;
}
如果我评论 Try/Catch 上设置的参数,相机会启动,但没有设置任何参数。
【问题讨论】:
-
确认您的设备是否支持
getBestPreviewSize()的尺寸
标签: java android eclipse parameters camera