最終更新:2013-12-11 (水) 19:00:53 (3781d)  

Camera.setPreviewCallbackWithBuffer
Top / Camera.setPreviewCallbackWithBuffer

Android 2.1以前

  • surfaceCreated(){
        camera.setPreviewCallback(cb);
        camera.startPreview()
    }
    onPreviewFrame(byte[] data, Camera camera){
        camera.setPreviewCallBack(null);
        [画像処理]
        camera.setPreviewCallBack(cb);
    }

Android 2.2以降

  • Camera.addCallbackBuffer?Camera.setPreviewCallbackWithBufferで確保したバッファを使いまわす
    surfaceCreated(){
        PixelFormat pixel_info = new PixelFormat();
        PixelFormat.getPixelFormatInfo(camera.getParameters()/getPreviewFormat(),pixel_info);
        byte[] buffer = new byte[camera.getParameters().getPreviewSize().width * camera.getParameters().getPreviewSize().height * pixel_info.bitsPerPixel /8];
        camera.addCallbackBuffer(buffer);
        camera.setPreviewCallbackWithBuffer(cb);
        camera.startPreview()
    }
    onPreviewFrame(byte[] data, Camera camera){
        [画像処理]
        camera.addCallbackBuffer(data);
    }

関連

参考