最終更新:2018-02-19 (月) 13:13:41 (2230d)
Camera.setPreviewCallback
Top / Camera.setPreviewCallback
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); }