|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
Objectcom.docomostar.device.Camera
public class Camera
携帯電話のネイティブのカメラ機能を呼び出して、 静止画/動画を撮影する機能にアクセスする手段を提供します。
静止画を撮影するためには、takePicture()メソッドを呼び出します。
呼び出し前に指定した画像サイズ、画質、連写モード、フレーム画像、接写モードを反映して、
静止画を撮影するモードでカメラ機能を立ち上げます。
動画を撮影するためには、takeMovie()メソッドを呼び出します。
呼び出し前に指定した画像サイズ、画質、マイク音量、接写モードを反映して、
動画を撮影するモードでカメラ機能を立ち上げます。
カメラ機能を立ち上げたら、 撮影時にユーザ操作により静止画と動画の撮影モードを切り替えることはできません。 また、カメラ機能を立ち上げる前に指定した画像サイズ、画質、連写モード、 フレーム画像、マイク音量の設定についても、 ユーザ操作により変更することはできません。
なお、これらの設定はStar アプリからの撮影時のみに有効です。
ユーザの操作によりカメラ機能が終了すると、 takePicture/takeMovieメソッドから復帰します。 ユーザがカメラ機能で撮影を行い、撮影画像を保存した場合は、 カメラオブジェクト内にその撮影画像が保持されます。 ユーザが撮影を行わなかったり、あるいは撮影画像を保存しなかった場合は、 カメラオブジェクト内に撮影画像は保持されません。
カメラ機能は、コード認識機能と同じカメラデバイスを使用します。
そのため、同じカメラIDを持つCamera オブジェクトとCodeReaderオブジェクトは互いに状態に影響を与えます。
カメラ機能を用いて撮影を行った後にコード認識を行った場合は、
Cameraオブジェクトから撮影画像を取り出せる保証はありません。
同様に、コード認識を行った後にカメラ機能を用いて撮影を行った場合は、
CodeReaderオブジェクトからコード認識の結果を取り出せる保証はありません。
Star アプリからのフォーカス切り替えをサポートしているかどうかは機種依存です。 Star アプリからのフォーカス切り替えをサポートする場合、 ネイティブ起動中にユーザ操作により、 Star アプリで設定したフォーカスを変更することができます。 なお、Star アプリからネイティブ起動する場合、Camera オブジェクト内のフォーカス設定がネイティブに渡されますが、 ネイティブ起動中に行われたフォーカス設定は、Camera オブジェクト内には保持されません。
| フィールドの概要 | |
|---|---|
static int |
ATTR_CONTINUOUS_SHOT_OFF [iアプリオプションAPI]
連写モード属性の一つで連写モードが無効であることを表します(=0)。 |
static int |
ATTR_CONTINUOUS_SHOT_ON [iアプリオプションAPI]
連写モード属性の一つで連写モードが有効であることを表します(=1)。 |
static int |
ATTR_FRAME_OFF
フレーム画像付きの静止画撮影の可否属性の一つで撮影不可であることを表します(=0)。 |
static int |
ATTR_FRAME_ON
フレーム画像付きの静止画撮影の可否属性の一つで撮影可能であることを表します(=1)。 |
static int |
ATTR_QUALITY_HIGH [iアプリオプションAPI]
画質属性の一つで品質優先を表します(=0)。 |
static int |
ATTR_QUALITY_LOW [iアプリオプションAPI]
画質属性の一つで録画時間または画像データのサイズ優先を表します(=2)。 |
static int |
ATTR_QUALITY_STANDARD
画質属性の一つで標準を表します(=1)。 |
static int |
ATTR_VOLUME_MAX [iアプリオプションAPI]
マイク入力の音量調整の属性の一つで最大音量を表します(=127)。 |
static int |
ATTR_VOLUME_MIN [iアプリオプションAPI]
マイク入力の音量調整の属性の一つで最小音量(ミュート状態)を表します(=0)。 |
static int |
DEV_CONTINUOUS_IMAGES
連写モードの連写可能な最大コマ数を表します(=3)。 |
static int |
DEV_CONTINUOUS_SHOT [iアプリオプションAPI]
連写モードを表します(=0)。 |
static int |
DEV_FRAME_SHOT
フレーム画像付きの静止画撮影の可否を表します(=4)。 |
static int |
DEV_QUALITY [iアプリオプションAPI]
画質を表します(=1)。 |
static int |
DEV_SOUND [iアプリオプションAPI]
マイク入力の音量調整を表します(=2)。 |
static int |
FOCUS_HARDWARE_SWITCH [iアプリオプションAPI]
フォーカスの種類の一つで、フォーカス切り替えがハードウェアによる機構であることを表します(=-1)。 |
static int |
FOCUS_MACRO_MODE [iアプリオプションAPI]
フォーカスの種類の一つで、接写モードであることを表します(=1)。 |
static int |
FOCUS_NORMAL_MODE [iアプリオプションAPI]
フォーカスの種類の一つで、通常モードであることを表します(=0)。 |
| コンストラクタの概要 | |
|---|---|
protected |
Camera()
アプリケーションが直接このコンストラクタを呼び出して オブジェクトを生成することはできません。 |
| メソッドの概要 | |
|---|---|
void |
disposeImages()
カメラオブジェクト内のすべての撮影画像を破棄します。 |
int |
getAttribute(int attr)
カメラの属性値を取得します。 |
int[] |
getAvailableFocusModes()
端末で設定できるフォーカスの種類のリストを取得します。 |
int[][] |
getAvailableFrameSizes()
静止画撮影時に使用可能なフレーム画像のサイズを取得します。 |
int[][] |
getAvailableMovieSizes()
撮影可能な動画の画像サイズを取得します。 |
int[][] |
getAvailablePictureSizes()
撮影可能な静止画の画像サイズを取得します。 |
static Camera |
getCamera(int id)
カメラオブジェクトを取得します。 |
int |
getFocusMode()
フォーカスの設定状態を取得します。 |
MediaResource |
getImage(int index)
カメラオブジェクト内の、 指定されたインデックスにある撮影画像を メディアリソースオブジェクトとして取得します。 |
long |
getImageLength(int index)
カメラオブジェクト内の、 指定されたインデックスにある撮影画像のデータサイズを取得します。 |
java.io.InputStream |
getInputStream(int index)
カメラオブジェクト内の、 指定されたインデックスにある撮影画像を読み出すための 入力ストリームを取得します。 |
long |
getMaxMovieLength()
カメラ機能にて動画撮影する場合に、撮影可能な最大データサイズを取得します。 |
int |
getNumberOfImages()
カメラオブジェクト内に保持されている撮影画像数を取得します。 |
boolean |
isAvailable(int attr)
カメラの属性が設定可能かどうかを調べます。 |
void |
setAttribute(int attr,
int value)
カメラの属性を設定します。 |
void |
setFocusMode(int mode) [iアプリオプションAPI]
フォーカスを設定します。 |
void |
setFrameImage(MediaImage image)
カメラ撮影時にフレーム画像として使用する画像を設定します。 |
void |
setImageSize(int width,
int height)
撮影画像のサイズを設定します。 |
void |
takeMovie() [iアプリオプションAPI]
カメラ機能を動画撮影モードで呼び出します。 |
void |
takePicture()
カメラ機能を静止画撮影モードで呼び出します。 |
| クラス Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
|---|
public static final int DEV_CONTINUOUS_SHOT [iアプリオプションAPI]
属性の設定と取得が可能です。
連写モードでの連写可能コマ数は機種依存ですが、
DEV_CONTINUOUS_IMAGES属性により、
最大連写可能コマ数を取得できます。
連写不可能な画像サイズやフレーム画像の設定時に連写モードを有効にしようとした場合、
Cameraオブジェクトの属性としては連写モードは有効になります。
しかし、DEV_CONTINUOUS_IMAGES属性の値は1であり、
takePicture()メソッドを呼び出しても連写はできません。
public static final int ATTR_CONTINUOUS_SHOT_OFF [iアプリオプションAPI]
public static final int ATTR_CONTINUOUS_SHOT_ON [iアプリオプションAPI]
public static final int DEV_QUALITY [iアプリオプションAPI]
属性の設定と取得が可能です。
public static final int ATTR_QUALITY_HIGH [iアプリオプションAPI]
public static final int ATTR_QUALITY_STANDARD
public static final int ATTR_QUALITY_LOW [iアプリオプションAPI]
public static final int DEV_SOUND [iアプリオプションAPI]
属性の設定と取得が可能です。
属性値にはATTR_VOLUME_MIN(=0)〜ATTR_VOLUME_MAX(=127)を指定 します。デフォルト値は100です。
public static final int ATTR_VOLUME_MIN [iアプリオプションAPI]
public static final int ATTR_VOLUME_MAX [iアプリオプションAPI]
public static final int DEV_CONTINUOUS_IMAGES
属性の取得のみが可能です。
連写可能コマ数は、画像サイズなどの条件により変化することがあります。 したがって、getAttributeメソッドが返す値も、 Cameraオブジェクトの状態によって変化します。 ただし、getAttributeメソッドが返す値は可能な最大連写コマ数であって、 空きメモリ容量などにより実際の撮影コマ数が撮影可能コマ数に達しない場合があります。 また、takePictureメソッド呼び出し後のユーザ操作により、 それ以下の連写数に設定される場合もあります。 連写モードの設定に関係なく、連写モードが設定された場合の連写可能コマ数を返します。 連写不可能な場合には、値 1 を返します。
public static final int DEV_FRAME_SHOT
属性の取得のみが可能です。
フレーム画像付きの撮影の可否は、 画像サイズや連写モードなどの条件により変化することがあります。 したがって、getAttributeメソッドが返す値も、 Cameraオブジェクトの状態によって変化します。
public static final int ATTR_FRAME_OFF
public static final int ATTR_FRAME_ON
public static final int FOCUS_HARDWARE_SWITCH [iアプリオプションAPI]
public static final int FOCUS_NORMAL_MODE [iアプリオプションAPI]
通常モードは接写モード以外を表しますが、 通常モードとして定義される具体的なフォーカスモードは機種依存です。
public static final int FOCUS_MACRO_MODE [iアプリオプションAPI]
| コンストラクタの詳細 |
|---|
protected Camera()
| メソッドの詳細 |
|---|
public static Camera getCamera(int id)
端末に搭載されているカメラデバイスのうち、
Javaから制御可能なものには、
それぞれ固定的なカメラID が割り振られています。
ユーザはカメラIDを指定することにより、
カメラデバイスを指定することができます。
カメラIDは 0, 1, 2 … の順で割り振られています。
カメラIDに対してこのメソッドが初めて呼ばれた場合はオブジェクトを生成して返します。
生成直後のカメラオブジェクトは撮影画像を保持していない状態になっています。
以後、同じカメラIDに対しては、常に同じオブジェクトへの参照を返します。
なお、Javaから制御可能なカメラデバイスの台数、 及びカメラIDとカメラデバイスの対応関係は機種依存です。
id - カメラIDを指定します。
IllegalArgumentException -
DeviceException -
public void takePicture()
throws InterruptedOperationException
ユーザの操作(終話キー押下なども含む)によりカメラ機能が終了すると、 Java アプリケーションがレジュームした時点で、 例外を発生させずにこのメソッドから復帰します。 ユーザがカメラ機能で撮影を行い、 撮影画像を保存した場合は、 カメラオブジェクト内にその撮影画像が保持されます。 ユーザが撮影を行わなかったり、 あるいは撮影画像を保存しなかった場合は、 カメラオブジェクト内に撮影画像は保持されません。
カメラオブジェクト内に保持される撮影画像数は、 連写モードを無効にして撮影した場合は1つです。 連写モードを有効にして撮影した場合は複数保持されますが、 ユーザ操作やメモリ使用状況などにより 連写可能コマ数よりも少ないコマ数しか保持されない可能性があります。 なお、本メソッドを呼び出す前に保持していた撮影画像は、 本メソッドを呼び出した時点ですべて破棄されます。
カメラ機能が競合などで中断した場合には、 Javaアプリケーションがレジューム復帰した時点で例外が発生します。 このとき、連写モードが無効の場合は撮影画像は保持されませんが、 連写モードが有効の場合は中断前までの撮影画像が保持されます。 静止画撮影前にカメラ機能が中断した場合には、撮影画像は保持されません。
MediaException - setFrameImage
メソッドによりフレーム画像となるメディアイメージが設定されており、
そのメディアイメージが use 状態でない場合に発生します。
SecurityException -
InterruptedOperationException -
DeviceException - DeviceException - DeviceException - DeviceException -
public void takeMovie()
throws InterruptedOperationException [iアプリオプションAPI]
ユーザの操作(終話キー押下なども含む)によりカメラ機能が終了すると、 Java アプリケーションがレジュームした時点で、 例外を発生させずにこのメソッドから復帰します。 ユーザがカメラ機能で撮影を行い、撮影画像を保存した場合は、 カメラオブジェクト内にその撮影画像が保持されます。 ユーザが撮影を行わなかったり、あるいは撮影画像を保存しなかった場合は、 カメラオブジェクト内に撮影画像は保持されません。
カメラオブジェクト内に保持される撮影画像数は1つのみです。 なお、本メソッドを呼び出す前に保持していた撮影画像は、 本メソッドを呼び出した時点ですべて破棄されます。
カメラ機能が競合などで中断した場合には、 Javaアプリケーションがレジューム復帰した時点で例外が発生します。 動画撮影中にカメラ機能が中断した場合には、 中断前までの撮影画像がカメラオブジェクト内に保持されます。 動画撮影前にカメラ機能が中断した場合には、撮影画像は保持されません。
UnsupportedOperationException -
SecurityException -
InterruptedOperationException -
DeviceException - DeviceException - DeviceException - DeviceException - public int getNumberOfImages()
public long getImageLength(int index)
index - 撮影画像のインデックスを指定します。
ArrayIndexOutOfBoundsException -
public long getMaxMovieLength()
public MediaResource getImage(int index)
取得されたメディアリソースオブジェクトは、 useもdisposeもされていない状態です。
takePicture() にて静止画を撮影した場合は、MediaImage
にキャストして使用してください。takeMovie() にて動画を撮影した場合は、
MediaMovieにキャストして使用してください。
index - 撮影画像のインデックスを指定します。
ArrayIndexOutOfBoundsException -
public java.io.InputStream getInputStream(int index)
カメラオブジェクト内の、 指定されたインデックスにある撮影画像を読み出すための 入力ストリームを取得します。 呼び出す毎に異なるインスタンスの入力ストリームを返します。
入力ストリームから得られるデータのフォーマットは、以下の通りです。
| 対応フォーマット | |
|---|---|
| 静止画 |
|
| 動画 |
|
index - 撮影画像のインデックスを指定します。
ArrayIndexOutOfBoundsException -
public void disposeImages()
カメラオブジェクトは撮影画像を保持していない状態になります。
カメラオブジェクトが撮影画像を保持していない状態で、
このメソッドを呼び出した場合は何もしません。
フレーム画像が設定されていた場合は、setFrameImageメソッドにnullを設定したのと同じになります。
カメラオブジェクト内の撮影画像が破棄された場合でも、 カメラオブジェクトから取得したメディアリソースオブジェクト/入力ストリームは 有効のままであり、その状態に影響を与えません。
このメソッドを呼ぶと、動画についても同様に破棄されます。
public void setImageSize(int width,
int height)
指定した画像サイズのまま撮影されるかどうかは機種依存です。 指定した画像サイズのまま撮影されない場合は、 撮影可能な画像サイズのうち 指定した画像サイズが収まる最も小さな画像サイズで撮影されます。 画像サイズの種類と段階は機種依存です。 ただし、設定した画像サイズが、撮影可能な最大サイズを超えた場合は、 撮影可能な最大サイズで撮影されます。
画像サイズを設定せずに撮影を実行した場合、 機種依存のデフォルトのサイズにて撮影されます。
QCIFサイズは 176×144 、SubQCIFサイズは 128×96 をそれぞれ指定してください。 iショット(L)サイズは 288×352、 iショット(S)サイズは 120×120または144×144を指定してください。
画像サイズは撮影前に設定してください。 撮影後に設定した撮影サイズは、次回以降の撮影画像に反映されます。
画像サイズを指定しない場合を除き、
静止画撮影時に使用するフレーム画像は、
このメソッドが呼ばれた後に設定しなければなりません。
このメソッドが呼ばれると、
setFrameImageメソッドによる設定は破棄され、
フレーム画像なしの撮影となります。
これは、すでに設定されているフレーム画像のサイズと
設定された画像サイズが同じ場合にも適用されます。
フレーム画像付き撮影を行う場合、
このメソッドにより設定されたサイズ
(引数で設定したサイズではなく実際に撮影されるサイズ)
と同じサイズのフレーム画像を指定して、
setFrameImageを呼び出してください。
width - 画像サイズの幅を指定します。height - 画像サイズの高さを指定します。
IllegalArgumentException -
public boolean isAvailable(int attr)
setAttribute(int, int) メソッドで制御することが可能です。
端末がその属性の制御をサポートしていない場合や、
端末の設定によってその属性の制御が制限されている場合は false を返します。
attr - カメラ属性の種類を指定します。
public void setAttribute(int attr,
int value)
attr - 設定する属性を指定します。value - 設定する属性の値を指定します。
IllegalArgumentException -
public int getAttribute(int attr)
attr - カメラ属性の種類を指定します。
public void setFrameImage(MediaImage image)
フレーム画像として使用できる画像には、
通常、透明色を持つGIFイメージを指定します。
設定するフレーム画像の画像サイズは、
撮影画像サイズと等しいものに限ります。
結果として取得される画像は、フレーム画像なしに撮影した画像の上に、
フレーム画像を描画した画像となります。
nullを指定した場合、フレーム画像なしの撮影となります。
初期状態およびsetImageSizeが呼ばれた後では、
フレーム画像は設定されていません。
指定されるメディアイメージは use 状態でなければなりません。
image - フレーム画像として使用する画像を指定します。
nullを指定した場合、フレーム画像なしの撮影となります。
MediaException - MediaException - MediaImageインタフェースを実装した未知のクラスのオブジェクト)
が渡された場合に発生します。
MediaException - MediaException - MediaException - setImageSize
メソッドにより設定された撮影画像サイズと
異なるサイズのフレーム画像を指定した場合に発生します。
MediaException - public int[][] getAvailableFrameSizes()
getAvailablePictureSizes
メソッドで得られるすべての撮影可能な画像サイズに対して、
フレーム画像付きの撮影が可能であるとは限りません。
したがって、このメソッドとgetAvailablePictureSizesメソッドの戻り値は
異なることがあります。
public int[][] getAvailablePictureSizes()
public int[][] getAvailableMovieSizes()
public int[] getAvailableFocusModes()
リストの値は、このクラスで定義されているフォーカスの種類の定数になります。
フォーカス切り替えが未サポートである場合には、
このメソッドは new int[] {FOCUS_NORMAL_MODE} を返します。
フォーカス切り替えがハードウェアによる機構である場合には、
このメソッドは new int[] { を返します。
この場合、Star アプリからフォーカス制御することはできません。
FOCUS_HARDWARE_SWITCH}
public void setFocusMode(int mode) [iアプリオプションAPI]
getAvailableFocusModes()で取得したリストから任意の値を設定します。
指定する値は、このクラスで定義されているフォーカスの種類の定数になります。
このクラスで定義されていない定数、または、リストにない値を指定した場合には例外が発生します。
フォーカス切り替えがハードウェアによる機構である場合には、
引数 mode に FOCUS_HARDWARE_SWITCH が指定された場合は何も行わずに無視されます。
mode - フォーカスの種類の値を指定します。
IllegalArgumentException -
public int getFocusMode()
取得した値は、このクラスで定義されているフォーカスの種類の定数になります。
一度も setFocusMode(int) を呼び出していない状態で、
このメソッドを呼び出した場合に、どのような値が取得されるかは機種依存です。
フォーカス切り替えが未サポートである場合には、
フォーカスの設定状態として FOCUS_NORMAL_MODE を返します。
フォーカス切り替えがハードウェアによる機構である場合には、
このメソッドは FOCUS_HARDWARE_SWITCH を返します。
この場合、Star アプリからフォーカス制御することはできません。
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
NTT DOCOMO,INC.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。