com.docomostar.device
クラス RawImageCapture

Object
  上位を拡張 com.docomostar.device.RawImageCapture

public class RawImageCapture
extends Object

端末のカメラデバイスを制御して RAW 画像を取得する機能を提供するクラスです。 カメラ機能と同じカメラデバイスを使用します。

RAW 画像取得機能では、以下のように状態を定義します。

状態 説明
START カメラデバイス起動中かつ RAW 画像が取得可能な状態
STOP カメラデバイス停止中かつ RAW 画像が取得不可能な状態

カメラを立ち上げて撮影を行うには、start() メソッドを呼び出します。 このメソッドを実行すると、ネイティブ側で必要なカメラのデバイスリソース獲得・初期化および撮影 が行われて START 状態になります。 Star アプリから RAW 画像を取得するには、getRawImage(byte[]) メソッドを呼び出します。 このメソッドは START 状態で呼び出します。STOP 状態で呼び出した場合は例外が発生します。 RAW 画像取得機能がSTART状態で、Star アプリがサスペンドした場合 stop() メソッドが呼ばれた場合と同様の動作となります。つまり、状態は STOP 状態に遷移します。

STOP 状態のとき、画像サイズ、接写モード、色空間の設定が可能です。 START 状態で設定を行った場合は無視されます。 設定可能な画像サイズ、接写モード、色空間については機種依存です。

Star アプリでは、Camera オブジェクトまたは CodeReader オブジェクトと RawImageCapture オブジェクトは互いの状態に影響を与えません。 Star アプリから Camera 機能、CodeReader 機能を起動し撮影した場合、 RAW 画像取得機能の START 状態、STOP 状態に関わらず Camera オブジェクトから撮影画像を、 CodeReader オブジェクトからコード認識結果を取り出せることを保証します。 なお、RawImageCapture で設定した画像サイズ、接写モードは端末のカメラデバイスを利用するネイティブのカメラ機能およびコード認識機能、Camera オブジェクト、 CodeReader オブジェクトの設定には影響を与えません。

ネイティブのカメラ機能およびコード認識機能が起動している場合には、同時に RAW 画像取得機能を利用することはできません。 start() を呼び出した時に例外が発生します。 また、同時に複数台のカメラを起動する事はできません。同様に例外が発生します。

ネイティブのカメラ機能およびコード認識機能が停止している場合には、 RAW 画像取得機能を利用することができます。 ネイティブのカメラ機能およびコード認識機能で取得したデータを未保存のまま Star アプリに処理が戻った場合でも、Star アプリで RAW 画像取得機能を利用可能です。 その場合、マルチタスク機能でネイティブのカメラ、コード認識機能に戻ることでデータを保存可能です。

RAW 画像取得機能と同時に利用できない Star アプリの他カメラ機能との競合については、 パッケージの説明を参照してください。

このクラスは パーミッションとしてカメラからのRAW画像取得機能の利用が許可されているトラステッド Star アプリのみ利用可能です。

端末によってサポートされない場合があります。未サポートの場合、getRawImageCapture(int) メソッドが呼び出された時点で UnsupportedOperationException を発生します。

導入されたバージョン:
Star-1.0

フィールドの概要
static String COLORSPACE_RGB565 [iアプリオプションAPI]
          色空間の1つで、RGB565 形式であることを表します(="RGB565")。
static String COLORSPACE_RGB888 [iアプリオプションAPI]
          色空間の1つで、RGB888 形式であることを表します(="RGB888")。
static String COLORSPACE_YUV422_PLANAR [iアプリオプションAPI]
          色空間の1つで、YUV422 Planar 形式であることを表します(="YUV422_PLANAR")。
static String COLORSPACE_YUV422_SEMIPLANAR [iアプリオプションAPI]
          色空間の1つで、YUV422 SemiPlanar 形式であることを表します(="YUV422_SEMIPLANAR")。
static String COLORSPACE_YUV422_UYVY [iアプリオプションAPI]
          色空間の1つで、YUV422 Packed format UYVY 形式であることを表します(="YUV422_UYVY")。
static String COLORSPACE_YUV422_YUY2 [iアプリオプションAPI]
          色空間の1つで、YUV422 Packed format YUY2 形式であることを表します(="YUV422_YUY2")。
static String COLORSPACE_YUV422_YVYU [iアプリオプションAPI]
          色空間の1つで、YUV422 Packed format YVYU 形式であることを表します(="YUV422_YVYU")。
 
コンストラクタの概要
protected RawImageCapture()
          アプリケーションが直接このコンストラクタを呼び出して オブジェクトを生成することはできません。
 
メソッドの概要
 String[] getAvailableColorSpaces()
           端末で設定できる色空間のリストを取得します。
 int[] getAvailableFocusModes()
           端末で設定できるフォーカスの種類のリストを取得します。
 int[][] getAvailableImageSizes()
           撮影可能な画像サイズを取得します。
 String getColorSpace()
           色空間の設定状態を取得します。
 int getFocusMode()
           フォーカスの設定状態を取得します。
 int[] getImageSize()
           撮影画像のサイズの設定状態を取得します。
 byte[] getRawImage(byte[] buffer)
           RawImageCapture オブジェクト内の撮影画像を取得します。
 float[] getRawImageAngleSize(int width, int height)
          指定したRAW画像のサイズに対する画角を取得します。
static RawImageCapture getRawImageCapture(int id)
           RawImageCapture オブジェクトを取得します。
 int getRawImageLength()
           RAW 画像のデータサイズを取得します。
 void setColorSpace(String colorSpace)
           色空間を設定します。
 void setFocusMode(int mode)
          フォーカスを設定します。
 void setImageSize(int width, int height)
           撮影画像のサイズを設定します。
 void start()
           カメラデバイスを起動して START 状態にします。
 void stop()
           カメラデバイスを停止して STOP 状態にします。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

COLORSPACE_YUV422_YVYU

public static final String COLORSPACE_YUV422_YVYU [iアプリオプションAPI]
色空間の1つで、YUV422 Packed format YVYU 形式であることを表します(="YUV422_YVYU")。

関連項目:
定数フィールド値

COLORSPACE_YUV422_YUY2

public static final String COLORSPACE_YUV422_YUY2 [iアプリオプションAPI]
色空間の1つで、YUV422 Packed format YUY2 形式であることを表します(="YUV422_YUY2")。

導入されたバージョン:
Star-1.1
関連項目:
定数フィールド値

COLORSPACE_YUV422_UYVY

public static final String COLORSPACE_YUV422_UYVY [iアプリオプションAPI]
色空間の1つで、YUV422 Packed format UYVY 形式であることを表します(="YUV422_UYVY")。

導入されたバージョン:
Star-1.5
関連項目:
定数フィールド値

COLORSPACE_RGB565

public static final String COLORSPACE_RGB565 [iアプリオプションAPI]
色空間の1つで、RGB565 形式であることを表します(="RGB565")。

関連項目:
定数フィールド値

COLORSPACE_RGB888

public static final String COLORSPACE_RGB888 [iアプリオプションAPI]
色空間の1つで、RGB888 形式であることを表します(="RGB888")。

関連項目:
定数フィールド値

COLORSPACE_YUV422_PLANAR

public static final String COLORSPACE_YUV422_PLANAR [iアプリオプションAPI]
色空間の1つで、YUV422 Planar 形式であることを表します(="YUV422_PLANAR")。

導入されたバージョン:
Star-1.5
関連項目:
定数フィールド値

COLORSPACE_YUV422_SEMIPLANAR

public static final String COLORSPACE_YUV422_SEMIPLANAR [iアプリオプションAPI]
色空間の1つで、YUV422 SemiPlanar 形式であることを表します(="YUV422_SEMIPLANAR")。

導入されたバージョン:
Star-1.5
関連項目:
定数フィールド値
コンストラクタの詳細

RawImageCapture

protected RawImageCapture()
アプリケーションが直接このコンストラクタを呼び出して オブジェクトを生成することはできません。

メソッドの詳細

getRawImageCapture

public static RawImageCapture getRawImageCapture(int id)

RawImageCapture オブジェクトを取得します。

カメラIDに対してこのメソッドが初めて呼ばれた場合はオブジェクトを生成して返します。

生成直後の RawImageCapture オブジェクトは撮影データを保持していない状態になっています。 以後、同じカメラIDに対しては、常に同じオブジェクトへの参照を返します。

Star アプリから制御可能なカメラデバイスの台数、及びカメラ ID とカメラデバイスの対応関係は機種依存です。

パーミッションとしてカメラからのRAW画像取得機能の利用が許可されていない場合、このメソッドを呼び出した時点でセキュリティ違反として強制終了されます。

Star アプリから制御可能なカメラデバイスのうち、RAW 画像取得機能をサポートしないカメラ ID が存在することがあります。 このカメラ ID を指定した場合、例外 UnsupportedOperationException が発生します。

パラメータ:
id - カメラ ID を指定します。カメラIDについては Camera.getCamera(int) メソッドを参照してください。
戻り値:
RawImageCapture オブジェクトを返します。
例外:
UnsupportedOperationException -
引数 id に、カメラ機能はサポートしているが、RAW 画像取得機能はサポートしていないようなカメラ ID が指定された場合に発生します。
IllegalArgumentException -
引数 id に負の値が指定された場合、または Star アプリから制御可能なカメラデバイスの台数以上の値が指定された場合に発生します。
DeviceException -
(NO_RESOURCES)
カメラデバイスを確保できない場合に発生します。

getAvailableColorSpaces

public String[] getAvailableColorSpaces()

端末で設定できる色空間のリストを取得します。

リストの取得は START/STOP 状態に関わらず可能です。

戻り値:
端末で設定できる色空間をリストで返します。

setColorSpace

public void setColorSpace(String colorSpace)

色空間を設定します。

引数 colorSpace に指定する値は、getAvailableColorSpaces() で取得できる文字列になります。 文字列の代わりに、このクラスで定義されている色空間のフィールドを指定することができます。 この端末でサポートされていない文字列を指定した場合には例外が発生します。

START 状態時にこのメソッドが呼び出した場合、設定は行われずに無視されます。

パラメータ:
colorSpace - 設定する色空間の値を指定します。
例外:
IllegalArgumentException -
引数 colorSpace にこの端末がサポートしていない色空間を指定した場合に発生します。

getColorSpace

public String getColorSpace()

色空間の設定状態を取得します。

最後に setColorSpace(java.lang.String) で設定した値を返します。 一度も setColorSpace(java.lang.String) を呼び出していない状態で、 このメソッドを呼び出した場合に、 どのような値が取得されるかは機種依存です。

色空間の設定状態の取得は START/STOP 状態に関わらず可能です。

戻り値:
色空間の設定状態を返します。

getAvailableFocusModes

public int[] getAvailableFocusModes()

端末で設定できるフォーカスの種類のリストを取得します。

リストの値は、Camera クラスで定義されているフォーカスの種類の定数になります。

フォーカス切替が未サポートである場合には、このメソッドは Camera.FOCUS_NORMAL_MODE を返します。

フォーカス切替がハードウェアによる機構である場合には、このメソッドは Camera.FOCUS_HARDWARE_SWITCH を返します。この場合、Star アプリからフォーカス制御をするこ