2

こちらから見ました。そして、それが機能するかどうか試してみたいだけです。リンク: http://www.javacodegeeks.com/2011/03/android-http-camera-live-preview.html

これは、MyCamAppActivity.java という名前の最初のクラスです。

    package com.javacodegeeks.android.camera;
import android.app.Activity;
import android.os.Bundle;
import android.view.SurfaceView;    
    import android.view.Window;  
public class MyCamAppActivity extends Activity {         
    private SurfaceView cameraPreview;

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        cameraPreview = new CameraPreview(this);

        setContentView(cameraPreview);
    }           
     }

これは CameraPreview と呼ばれる 2 番目のクラスです。

    package com.javacodegeeks.android.camera;

import android.content.Context;
import android.hardware.Camera;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {

    private SurfaceHolder holder;
    private Camera camera;

    public CameraPreview(Context context) {
        super(context);
        holder = getHolder();
        holder.addCallback(this);
        holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }

    @Override
    public void surfaceChanged(SurfaceHolder holder2, int format, int w, int h) {
        Camera.Parameters parameters = camera.getParameters();
        parameters.setPreviewSize(w, h);
        camera.setParameters(parameters);
        camera.startPreview();
    }

    @Override
    public void surfaceCreated(SurfaceHolder holder1) {
        try {
            camera = Camera.open();
            camera.setPreviewDisplay(holder1);
        }
        catch (Exception e) {
            Log.i("Exception surfaceCreated()", "e=" + e);
            camera.release();
            camera = null;
          }

    }

    @Override
    public void surfaceDestroyed(SurfaceHolder arg0) {
        camera.stopPreview();
        camera.release();
        camera = null;
    }

}

私の知る限り、Android プログラミングで surfaceview を使用すると、画面に画像が自動的に生成されます。しかし、私の場合、それはただの黒い絵です。ところで、サイト内の完全なパッケージには .xml コンテンツが含まれていません。そのため、xml で何かを修正する必要があるかどうかはわかりません。誰かまたはあなたの誰かが私をできるだけ早く助けてくれることを願っています.

4

0 に答える 0