我做了一个应该显示相机预览的表面视图。但是,当我用我的虚拟Android手机打开它时,我得到了一个方格黑白背景和一个大的移动绿色框,而不是实际的相机图像。Android相机预览不能在虚拟手机中工作
下面是surfaceview代码:
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback{
private Camera camera;
private SurfaceHolder surfaceholder;
public CameraPreview(Context context) {
super(context);
surfaceholder= getHolder();
surfaceholder.addCallback(this);
surfaceholder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(width, height);
parameters.setPictureFormat(PixelFormat.JPEG);
camera.setParameters(parameters);
camera.startPreview();
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
try {
camera.setPreviewDisplay(surfaceholder);
} catch (IOException e) {}
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
stopCam();
}
public void stopCam(){
if (camera!=null){
camera.stopPreview();
camera.release();
}
}
}
什么实际的相机?你有连接摄像头? –