【今更だけどandroid.hardware.Cameraを使う】Camera.Parametersの設定値 ビデオスナップショット(ビデオ撮影中の写真キャプチャ)

このエントリーを Google ブックマーク に追加
Pocket
[`yahoo` not found]

android.hardware.Cameraを使うことで、Android端末にあるカメラデバイスにアクセスして使うことができます。
android.hardware.Cameraは、現在では非推奨となっていますがOpenCV等ではまだまだ使われています。

Android端末に実装されているカメラデバイスは固有の性能があります。
そのため、ある端末では出来るのに別の端末では出来ないということが多々あります。
今回はCamera.Parametersのビデオスナップショット(ビデオ撮影中の写真キャプチャ)に関連する設定値を説明します。
下記の実装はすべて前回までに作ったクラスを修正しています。

ビデオスナップショット(ビデオ撮影中の写真キャプチャ)

カメラデバイスによってはビデオ撮影中にが写真を撮ること、つまり、Camera#takePictureを呼ぶことが可能なものがあります。
Camera.Parameters内にビデオスナップショット(ビデオ撮影中の写真キャプチャ)に関連するデータのキーは下記のとおりです。
video-snapshot-supportedカメラデバイスがビデオ向けに使われるかどうかをヒントとして渡すかどうかを表すキーです。

ビデオスナップショット(ビデオ撮影中の写真キャプチャ)のサポート状況

boolean isVideoSnapshotSupported()はビデオスナップショット(ビデオ撮影中の写真キャプチャ)をサポート状況を知るためのメソッドです。
trueの場合はビデオスナップショット(ビデオ撮影中の写真キャプチャ)はできますが、falseの場合は利用できません。

    private void updateCameraParameters() {
        Camera.Parameters parameters = mCamera.getParameters();
        Log.d(TAG, "VideoSnapshotSupported: " + parameters.isVideoSnapshotSupported());
        mCamera.setParameters(parameters);
    }

ビデオスナップショット(ビデオ撮影中の写真キャプチャ)の注意点

  1. ビデオスナップショット(ビデオ撮影中の写真キャプチャ)ができるカメラデバイスで録画中にCamera#takePictureを使った場合はカメラプレビューは停止しません。