我在macbook上使用Android Studio在官方android文档之后创建简单的相机应用程序。但是,当我尝试拨打camera.setPreviewDisplay(SurfaceHolder)
时,我收到以下错误:
错误:(29,16)错误:找不到符号方法 setPreviewDisplay(SurfaceHolder)
我的CameraPreview类如下:
package com.opencv.camerapreview;
import android.content.Context;
import android.graphics.Camera;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback{
private SurfaceHolder surfaceHolder;
private Camera mCamera;
public CameraPreview(Context context, Camera camera) {
super(context);
mCamera=camera;
this.surfaceHolder= getHolder();
this.surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
mCamera.setPreviewDisplay(holder);
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
}
看起来这是Android Studio中的一些链接问题。任何人都可以阐明为什么会发生这种情况并解决问题。感谢
答案 0 :(得分:5)
您已导入
import android.graphics.Camera;
你应该导入
import android.hardware.Camera;
甚至
import android.hardware.camera2;
如果您的目标是API 21及更高版本。