1

3Dキューブがあり、カメラプレビューを開きます。この回転するキューブが、カメラの上に表示されるのを確認したいと思います。

私が試みたのは、を実装するクラスのSurfaceChangedメソッド内で、 次のようsurfaceHolder.callbackに呼び出すことです。camera.setPreviewCallback(new PreviewCallback(){ }

public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {
.......
.......
.......
camera.setPreviewCallback(new PreviewCallback() {
        @Override
        public void onPreviewFrame(byte[] data, Camera camera) {
            // TODO Auto-generated method stub
            glSurface.setRenderer( new MyRender());
            setContentView(glSurface);
        }
    });

このコードの結果、表面が変更されるまで数秒間カメラプレビューが表示され、その後、カメラプレビューが消え、3D立方体が黒い背景に表示されます。

とにかく両方の表面を表示することはありますか?

4

2 に答える 2

1

私が覚えている限り、GlViewの上にCameraPreviewを設定する必要があります。これは直感的ではありませんが、機能するはずです。ここにあなたを助けるかもしれないリンクがあります:http://digitalbreed.com/2009/android-render-opengl-on-top-of-camera-preview

于 2012-05-21T10:17:32.157 に答える
0

独自のオフスクリーン合成を実行してから、結果を単一のSurfaceViewに描画できます。詳細については、このサンプルコードを参照してください。

于 2012-05-21T10:43:01.927 に答える