Camera機能の使用方法|Android開発
AndroidでCamera(android.hardware.Camera)機能の使用方法です。
なお、android.hardware.Camera
はAPI level 21からdeprecatedです。
permissionの追加
カメラを使用するためにはAndroidManifest.xmlで以下を指定する必要があります。
layout
プレビュー表示を行うためのSurfaceViewを用意します。
カメラの利用手順
準備
- 生成したSurfaceViewインスタンスから
SurfaceHolder
を取得、保持します
SurfaceHolder
にSurfaceHolder.Callback
を設定します
SurfaceHolder.Callback.surfaceChanged()
本メソッド受信以降でカメラのオープン処理を行います
カメラのオープン
カメラのオープンを行います。オープンするカメラのIDを指定します。
プレビューの開始
- プレビュー領域を指定します。指定するのは先程取得した
SurfaceHolder
です
- 必要なパラメータを設定します(下記はサンプル)
- ディスプレイの角度を指定することで、プレビューの向きを調整します
setPreviewCallback()
でプレビュー中の画像データを受信できます(必要な場合のみ)
- プレビューを開始します
撮影
- 必要なパラメータを設定します(下記はサンプル)
- 撮影を開始します。撮影後のデータ形式毎にコールバックが指定できます(下記はJpegを指定)
- コールバックに通知された撮影画像を処理します(保存など)
上記の場合、Camera.PictureCallback.onPictureTaken(byte[] data, Camera camera)
で受信します
カメラのクローズ
setPreviewCallback()
でプレビュー中の画像データを受信していた場合は通知を解除します
- プレビューの停止(必須ではないようです)
- カメラの解放を行います