Android相机startPreview失败错误

时间:2014-06-06 02:50:25

标签: android camera

我想简单地在android中拍照(实际上有一个叠加图片....但是稍后再做,我现在在第一步失败了......),日志捕获错误'开始预览失败”。以下是我的代码:

package com.example.camera_test;

import java.io.IOException;

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 CameraFilming extends Activity implements SurfaceHolder.Callback{
    private Camera camera = null;
    private SurfaceView preview;
    private SurfaceHolder holder;

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.camera);

        ((Setting)getApplication()).getDeviceDisplaySize();

        preview = (SurfaceView)findViewById(R.id.camera_surface);
        holder = preview.getHolder();
        holder.addCallback(this);

    }

    private void startCamera(){
        camera = Camera.open();
    }

    @Override
    public void onBackPressed(){

        super.onBackPressed();
    }

    @Override
    public void surfaceCreated(SurfaceHolder holder) {
        // TODO Auto-generated method stub
        try {
            startCamera();          
            camera.setPreviewDisplay(holder);
            camera.startPreview();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width,
            int height) {
        // TODO Auto-generated method stub

    }

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

}

1 个答案:

答案 0 :(得分:0)

我在真实设备上运行它然后它没有问题...结论:不要在AVD模拟器上进行相机模拟!!!