0

previewcallback() 関数でプレビューのすべてのフレームを処理する必要がある Android アプリを開発しています。私のコードは次のようになります。

Camera c = null;

        try {
            c = Camera.open(1); // attempt to get a Camera instance

        }
        catch (Exception e){
            // Camera is not available (in use or does not exist)
        }
        Camera.Size csize = c.getParameters().getPreviewSize();
        int mPreviewHeight = csize.height; //
        int mPreviewWidth = csize.width;
        Camera.Parameters parameters = c.getParameters();
        parameters.setPictureSize(800, 800);
       // parameters.setPreviewSize(700, 700);
        parameters.set("orientation", "portrait");
        c.setDisplayOrientation(90);
        c.setParameters(parameters);
        mPreview = new CameraPreview(this, c);
        FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);

        preview.addView(mPreview);
        final PreviewCallback mPicture = new PreviewCallback() {

            public void onPreviewFrame(byte[] data, Camera camera)  
            { 
                    try 
                    { 
                            BitmapFactory.Options opts = new BitmapFactory.Options(); 
                            Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);//,opts); 
                            Log.i("file","Bitmap captured");
                    } 
                    catch(Exception e) 
                    {

                    } 
            } 

        };

        c.setPreviewCallback(mPicture);

しかし、ログ「ビット マップ キャプチャ」が表示されないように見えます。これは、プレビュー コールバック関数が適切に機能していないことを意味します。誰かがこれを手伝ってくれますか? 前もって感謝します!

4

1 に答える 1

0

CameraPreview クラスには何がありますか?

c.startPreview()どこかに電話をかけていると思いますか?

于 2012-11-19T03:31:32.927 に答える