jp.co.sharp.android.hardware
クラス CameraEx

java.lang.Object
  上位を拡張 android.hardware.Camera
      上位を拡張 jp.co.sharp.android.hardware.CameraEx

public final class CameraEx
extends android.hardware.Camera

カメラサービスへ接続する為のクラス。

CameraEx オブジェクトの取得には open()open(int) を使用する。サブカメラや二眼カメラを利用するには、 getCameraInfo(int,CameraInfo) で取得したカメラIDをパラメータに 指定して open(int) を実行する。
カメラデバイスを使用する為には、下記CAMERAパーミッションを宣言しなれければならない。
<uses-permission android:name="android.permission.CAMERA" />


入れ子のクラスの概要
static class CameraEx.CameraInfo
           カメラデバイス情報クラス。
static interface CameraEx.DoublePictureCallback
           キャプチャイメージ取得用コールバックインタフェース。
protected  class CameraEx.EventHandlerEx
           拡張イベントハンドラクラス。
 
クラス android.hardware.Camera から継承された入れ子のクラス/インタフェース
android.hardware.Camera.AutoFocusCallback, android.hardware.Camera.ErrorCallback, android.hardware.Camera.EventHandler, android.hardware.Camera.OnZoomChangeListener, android.hardware.Camera.Parameters, android.hardware.Camera.PictureCallback, android.hardware.Camera.PreviewCallback, android.hardware.Camera.ShutterCallback, android.hardware.Camera.Size
 
フィールドの概要
 
クラス android.hardware.Camera から継承されたフィールド
CAMERA_ERROR_SERVER_DIED, CAMERA_ERROR_UNKNOWN, mEventHandler
 
メソッドの概要
static void getCameraInfo(int cameraId, CameraEx.CameraInfo cameraInfo)
           カメラデバイスの詳細情報を返す。
static int getNumberOfCameras()
           利用可能なカメラデバイスの数を返す。
protected  void initialize()
           内部初期化処理。
static CameraEx open()
           背面かつ一眼のカメラデバイスにアクセスするためのCameraExオブジェクトを生成する。
static CameraEx open(int cameraId)
           指定されたカメラデバイスにアクセスするためのCameraExオブジェクトを生成する。
 void takePicture(android.hardware.Camera.ShutterCallback shutter, android.hardware.Camera.PictureCallback left_raw, android.hardware.Camera.PictureCallback right_raw, android.hardware.Camera.PictureCallback postview, android.hardware.Camera.PictureCallback left_jpeg, android.hardware.Camera.PictureCallback right_jpeg)
           非同期イメージキャプチャの開始。
 void takePicture(android.hardware.Camera.ShutterCallback shutter, CameraEx.DoublePictureCallback raw, android.hardware.Camera.PictureCallback postview, CameraEx.DoublePictureCallback jpeg)
           非同期イメージキャプチャの開始。
 
クラス android.hardware.Camera から継承されたメソッド
addCallbackBuffer, autoFocus, cancelAutoFocus, finalize, getCameraInfo, getParameters, lock, previewEnabled, reconnect, release, setDisplayOrientation, setErrorCallback, setOneShotPreviewCallback, setParameters, setPreviewCallback, setPreviewCallbackWithBuffer, setPreviewDisplay, setZoomChangeListener, startPreview, startSmoothZoom, stopPreview, stopSmoothZoom, takePicture, takePicture, unlock
 
クラス java.lang.Object から継承されたメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getNumberOfCameras

public static int getNumberOfCameras()
利用可能なカメラデバイスの数を返す。


getCameraInfo

public static void getCameraInfo(int cameraId,
                                 CameraEx.CameraInfo cameraInfo)
カメラデバイスの詳細情報を返す。

getNumberOfCameras() で取得した値を N とした場合、 0 から N-1 の値を指定することができる。

パラメータ:
cameraId - 情報を取得したいカメラデバイス。
cameraInfo - カメラデバイス情報。

open

public static CameraEx open(int cameraId)
指定されたカメラデバイスにアクセスするためのCameraExオブジェクトを生成する。

パラメータ:
cameraId - アクセスするカメラデバイス。指定できる値は、0 から getNumberOfCameras()-1 までとなる。
戻り値:
接続済みかつロック取得済みのCameraExオブジェクト。
例外:
java.lang.RuntimeException - カメラサービスへの接続に失敗した場合に発行される。 (例えば、カメラデバイスが既に別プロセスから使用されている場合)

open

public static CameraEx open()
背面かつ一眼のカメラデバイスにアクセスするためのCameraExオブジェクトを生成する。

戻り値:
接続済みかつロック取得済みのCameraExオブジェクト。
例外:
java.lang.RuntimeException - カメラサービスへの接続に失敗した場合に発行される。 (例えば、カメラデバイスが既に別プロセスから使用されている場合)
関連項目:
open(int)

initialize

protected void initialize()
内部初期化処理。

オーバーライド:
クラス android.hardware.Camera 内の initialize

takePicture

public final void takePicture(android.hardware.Camera.ShutterCallback shutter,
                              CameraEx.DoublePictureCallback raw,
                              android.hardware.Camera.PictureCallback postview,
                              CameraEx.DoublePictureCallback jpeg)
非同期イメージキャプチャの開始。

カメラサービスはイメージキャプチャ処理としてアプリケーションとの一連の コールバック処理を開始する。シャッターコールバックはイメージのキャプチャ 後に発生するため、例えば撮影完了音の再生契機として使用することができる。 Rawコールバックは非圧縮イメージデータが生成されたときに発生するが、 ハードウェアが十分なメモリも持っていない場合は、null を返すことがある。 ポストビューコールバックはスケーリングされたイメージデータが生成された ときに発生する(注:サポートしていないデバイスもある)。 Jpegコールバックは圧縮されたイメージデータが生成されたときに発生する。 アプリケーションは必要としないコールバックに対して、null を指定することが できる。

本関数はプレビュー中(Camera.startPreview() 呼び出し後)のみ有効である。 プレビューはイメージキャプチャ後に停止されるため、プレビューの再開/撮影を 行いたい場合は、再度 Camera.startPreview() を呼び出す必要がある。 この関数の呼び出しからJpegコールバックが発生するまでの間、撮影処理や Camera.startPreview() を呼び出すべきではない。

パラメータ:
shutter - イメージキャプチャ完了時コールバック。(null指定可)
raw - 非圧縮イメージデータコールバック。(null指定可)
postview - ポストビューイメージデータコールバック。(null指定可)
jpeg - 圧縮イメージデータコールバック。(null指定可)

takePicture

public final void takePicture(android.hardware.Camera.ShutterCallback shutter,
                              android.hardware.Camera.PictureCallback left_raw,
                              android.hardware.Camera.PictureCallback right_raw,
                              android.hardware.Camera.PictureCallback postview,
                              android.hardware.Camera.PictureCallback left_jpeg,
                              android.hardware.Camera.PictureCallback right_jpeg)
非同期イメージキャプチャの開始。

カメラサービスはイメージキャプチャ処理としてアプリケーションとの一連の コールバック処理を開始する。シャッターコールバックはイメージのキャプチャ 後に発生するため、例えば撮影完了音の再生契機として使用することができる。 Rawコールバックは非圧縮イメージデータが生成されたときに発生するが、 ハードウェアが十分なメモリも持っていない場合は、null を返すことがある。 ポストビューコールバックはスケーリングされたイメージデータが生成された ときに発生する(注:サポートしていないデバイスもある)。 Jpegコールバックは圧縮されたイメージデータが生成されたときに発生する。 アプリケーションは必要としないコールバックに対して、null を指定することが できる。

一眼カメラ起動時に本関数をコールした場合、Raw及びJpegコールバックは 左眼イメージデータとして通知する。右眼イメージデータ向けコールバック を指定したとしても通知されることはない。

本関数はプレビュー中(Camera.startPreview() 呼び出し後)のみ有効である。 プレビューはイメージキャプチャ後に停止されるため、プレビューの再開/撮影を 行いたい場合は、再度 Camera.startPreview() を呼び出す必要がある。 この関数の呼び出しからJpegコールバックが発生するまでの間、撮影処理や Camera.startPreview() を呼び出すべきではない。

パラメータ:
shutter - イメージキャプチャ完了時コールバック。(null指定可)
left_raw - 非圧縮/左眼イメージデータコールバック。(null指定可)
right_raw - 非圧縮/右眼イメージデータコールバック。(null指定可)
postview - ポストビューイメージデータコールバック。(null指定可)
left_jpeg - 圧縮/左眼イメージデータコールバック。(null指定可)
right_jpeg - 圧縮/右眼イメージデータコールバック。(null指定可)