2013-12-13 1 views
0

Я пытаюсь работать пример камеры предварительного просмотра внерешенным «основной» и «mPreview» в примере Android камеры на java2s.com

http://www.java2s.com/Code/Android/Hardware/Camerapreview.htm

Я скопировал следующий код

import java.util.List; 

import android.app.Activity; 
import android.hardware.Camera; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.SurfaceHolder; 
import android.view.SurfaceView; 

public class PreviewActivity extends Activity implements SurfaceHolder.Callback { 

    Camera mCamera; 
    SurfaceView mPreview; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mPreview = (SurfaceView)findViewById(R.id.preview); 
     mPreview.getHolder().addCallback(this); 
     mPreview.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 

     mCamera = Camera.open(); 
    } 

    @Override 
    public void onPause() { 
     super.onPause(); 
     mCamera.stopPreview(); 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     mCamera.release(); 
    } 

    @Override 
    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { 
     Camera.Parameters params = mCamera.getParameters(); 
     List<Camera.Size> sizes = params.getSupportedPreviewSizes(); 
     Camera.Size selected = sizes.get(0); 
     params.setPreviewSize(selected.width,selected.height); 
     mCamera.setParameters(params); 

     mCamera.startPreview(); 
    } 

    @Override 
    public void surfaceCreated(SurfaceHolder holder) { 
     try { 
      mCamera.setPreviewDisplay(mPreview.getHolder()); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    public void surfaceDestroyed(SurfaceHolder holder) { 
     Log.i("PREVIEW","surfaceDestroyed"); 
    } 

, а также при размещении activity_man.xml

следующий код:

я получаю ошибки в следующих строках:

setContentView(R.layout.main); 

    Preview = (SurfaceView)findViewById(R.id.preview); 

основной и предварительный просмотр не может быть решена

Как я могу это исправить:

благодаря

Dave

ответ

1

Если имя файла макета - activity_man.xml, то вы должны называть его r IGHT.

setContentView (R.layout.activity_man);

+0

спасибо, фактический код является основным не человеком, так что это не проблема. – davey

+0

У меня есть все, чтобы работать, кроме ine Preview = (SurfaceView) findViewById (R.id.preview); – davey

Смежные вопросы