简体   繁体   English

Android相机startPreview失败错误

[英]Android camera startPreview failed error

I want to simply take a photo in android (actually with an overlay image....but do it later, I am now failing in the first step...), the log catch an error of 'start preview failed'. 我只想在android中拍照(实际上带有覆盖图像...。但是稍后再做,我现在在第一步中失败了...),日志捕获到“开始预览失败”的错误。 The following is my code: 以下是我的代码:

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;
    }

}

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM