1

我遇到了两个奇怪的问题:

1-我previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);在一个应用程序中使用,它工作正常,我尝试在另一个应用程序中使用相同的方法,我发现 eclipse 用黑线交叉这个方法,并说当我使用相同的方法时,这个方法已被弃用另一个应用程序,它可以正常工作,没有任何问题 JAVA 代码:

公共类 AugReal00 扩展 Activity {

SurfaceView cameraPreview;
SurfaceHolder previewHolder;
Camera camera;
Boolean inPreview;


SurfaceHolder.Callback surfaceCallback = new Callback() {   

    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {
        // TODO Auto-generated method stub
        camera.stopPreview();
        camera.release();
        camera = null;  
    }

    @Override
    public void surfaceCreated(SurfaceHolder holder) {
        // TODO Auto-generated method stub
        try {
            //Open The Camera
            this.camera = android.hardware.Camera.open();
            this.camera.setPreviewDisplay(this.holder);
        } 
        catch(IOException ioe) {
            ioe.printStackTrace(System.out);
        }   
    }

    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width,
            int height) {
        // TODO Auto-generated method stub
        android.hardware.Camera.Parameters parameters = camera.getParameters();

        parameters.setSceneMode(parameters.SCENE_MODE_SPORTS);
        parameters.setFlashMode(parameters.FLASH_MODE_ON);
        parameters.setPreviewSize(width/2, height/2);
        parameters.setPictureSize(width/2, height/2);
        camera.setParameters(parameters);
        camera.startPreview();
    }
};// end of surfaceCallback Listener

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

    inPreview = false;
    cameraPreview = (SurfaceView) findViewById(R.id.cameraPreview);
    previewHolder = cameraPreview.getHolder();
    previewHolder.addCallback(surfaceCallback);
    previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    //previewHolder.se;
}   

public void OnResume() {
    super.onResume();
    camera = Camera.open();
}// end of OnResume

public void OnPause() {
    if (inPreview) {
        camera.stopPreview();
    }
    camera.release();
    camera=null;
    inPreview=false;
    super.onPause();
}// end of OnPause.

2-我写了一个简单的程序,我发现eclipse给了我以下错误

syntax error, insert } to complete class body

虽然所有的括号都已关闭,但一切都应该正常工作。我不知道如何解决这个问题。

4

1 回答 1

2
  1. 检查您的旧应用 sdk 版本号。在下一个版本中可以弃用相同的 api。

  2. 您尚未闭合打开的支架。确保正确插入所有支架。

于 2012-09-17T08:32:53.503 回答