错误:找不到符号方法setPreviewDisplay(SurfaceHolder)

3

我正在使用Macbook上的Android Studio按照官方文档创建一个简单的相机应用程序。然而,当我尝试调用camera.setPreviewDisplay(SurfaceHolder)时,我收到以下错误:

Error:(29, 16) error: cannot find symbol method 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的一些链接问题。有人能解释为什么会发生这种情况并提供解决方案吗?谢谢。

1个回答

9

你已经导入了

import android.graphics.Camera;

并且您需要导入。
import android.hardware.Camera;

甚至更多
import android.hardware.camera2;

如果你的目标是API 21及以上版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接