2016-03-18 4 views
0

Ich benutze Android Studio auf MacBook zum Erstellen einfacher Kamera App nach offiziellen Android-Dokumentation. Allerdings, wenn ich versuche camera.setPreviewDisplay(SurfaceHolder) zu anrufen erhalte ich folgende Fehlermeldung:Fehler: Symbol Methode setPreviewDisplay (SurfaceHolder) kann nicht gefunden werden

Error:(29, 16) error: cannot find symbol method setPreviewDisplay(SurfaceHolder)

Auch meine CameraPreview Klasse ist wie folgt:

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) { 

    } 
} 

Es sieht wie folgt aus einiger Verknüpfung Problem in Android Studio. Kann irgendjemand etwas darüber aufklären, warum dies passieren könnte?

Dank

Antwort

4

Sie haben

importiert
import android.graphics.Camera; 

und Sie sollten

import android.hardware.Camera; 

oder sogar

import android.hardware.camera2; 

importieren, wenn Sie API 21 Targeting und oben.