カメラの手ぶれ補正機能を使う
|Android4.0.3(APIレベル15)から手ぶれ補正機能が追加されました。手ぶれ補正機能の設定をONにするのみで利用出来、自作のアプリケーションからも簡単に使う事ができます。
※手ぶれ補正はプレビューと動画撮影時に有効になります。静止画撮影には対応していません。
今回はこの手ぶれ補正機能の使い方を説明します。
それでは続きへどうぞ。
手ぶれ補正機能に関するメソッド
手ぶれ補正は他のカメラの設定と同様にCamera.Parametersクラスのメソッドを使って有効にします。
[table “235” not found /]端末のカメラを使ってプレビューを表示する方法は以下の記事が参考になります。
手順は以下の通りです。
- 端末が手ぶれ補正機能に対応しているかどうかを確認する:4.0.3以降の端末であってもハードウェア的に対応していない端末もあります。
- 手ぶれ補正機能を有効にする
手ぶれ補正機能に対応しているか確認する
確認するにはCamera.ParametersクラスのisVideoStabilizationSupportedメソッドを利用します。対応していればtrueが返ってきて、非対応であればfalseが返ってきます。
boolean isSupported = parameters.isVideoStabilizationSupported();
手ぶれ補正機能を有効にする
isVideoStabilizationSupportedメソッドで手ぶれ補正機能に対応していることが確認できれば、同じくCamera.ParametersクラスのsetVideoStabilizationメソッドで手ぶれ補正機能を有効にします。
setVideoStabilizationメソッドの引数にtrueを与えることで有効になります。逆にfalseを与えることで無効になります。有効にする場所はsurfaceChangedメソッドでstartPreviewメソッドを呼び出す前に行います。
■src/MainActivity.java
Camera.Parameters parameters = mCamera.getParameters(); boolean isSupported = parameters.isVideoStabilizationSupported(); if (isSupported) { Log.d(TAG, "VideoStabilization is Supported"); parameters.setVideoStabilization(true); } else { Log.d(TAG, "VideoStabilization is not Supported"); }