Android Camera.open()不可用/不可访问?
我正在尝试创建cameraPreview,我在下面的代码“Camera.open()”中找到了它 我无法访问或无法使用此方法,在对象摄影机中没有此类方法 可以访问 有什么我应该做的吗,或者是在教程里 Java代码:Android Camera.open()不可用/不可访问?,android,camera,android-camera,Android,Camera,Android Camera,我正在尝试创建cameraPreview,我在下面的代码“Camera.open()”中找到了它 我无法访问或无法使用此方法,在对象摄影机中没有此类方法 可以访问 有什么我应该做的吗,或者是在教程里 Java代码: @Override public void surfaceCreated(SurfaceHolder holder) { try { //Open the Camera in p
@Override
public void surfaceCreated(SurfaceHolder holder)
{
try
{
//Open the Camera in preview mode
this.camera = Camera.open();
this.camera.setPreviewDisplay(this.holder);
}
catch(IOException ioe)
{
ioe.printStackTrace(System.out);
}
}
您很可能在源文件顶部导入了错误的摄影机类,即
您需要这样做。您很可能在源文件顶部导入了错误的摄影机类,即
您需要这样做。这里是完整的摄影机视图类::
class Preview extends SurfaceView implements SurfaceHolder.Callback {
private static final String TAG = "Preview";
SurfaceHolder mHolder;
public Camera camera;
Preview(Context context) {
super(context);
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
camera.setDisplayOrientation(90);
try {
camera.setPreviewDisplay(holder);
camera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera camera) {
Log.d(TAG, "onPreviewFrame called at: "
+ System.currentTimeMillis());
Preview.this.invalidate();
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
camera.release();
camera = null;
}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
camera.startPreview();
}
}这里是完整的摄影机视图类::
class Preview extends SurfaceView implements SurfaceHolder.Callback {
private static final String TAG = "Preview";
SurfaceHolder mHolder;
public Camera camera;
Preview(Context context) {
super(context);
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
camera.setDisplayOrientation(90);
try {
camera.setPreviewDisplay(holder);
camera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera camera) {
Log.d(TAG, "onPreviewFrame called at: "
+ System.currentTimeMillis());
Preview.this.invalidate();
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
camera.release();
camera = null;
}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
camera.startPreview();
}
}按照@Alextsc包括/检查您导入的正确类按照@Alextsc包括/检查您导入的正确类