Objectcom.nttdocomo.ui.MediaManager
メディアリソースデータの管理オブジェクトを定義します。
リソースの取得と利用時の振舞は以下のようになります。
[DoJa-5.0 (903i) 以降]
MediaResource.use() メソッド、
MediaResource.unuse() メソッド呼び出しによる、
メモリ確保・解放に関する振る舞いをモデル化するために、
以下の2つの領域を定義します。
use()、unuse() 時のメモリ確保・解放に関する振る舞いは、 getImage()、getSound()、getAvatarData() メソッドの引数に、何を指定するかによって、下記のように異なります。
MediaResource,
MediaData,
MediaImage,
MediaSound,
MediaPresenter,
AudioPresenter,
VisualPresenter| メソッドの概要 | |
static MediaImage |
createMediaImage(int width,
int height)
画像の幅・高さを指定して、 空のメディアイメージを生成します。 |
static MediaSound |
createMediaSound(int bytes)
サウンドのデータサイズ [bytes] を指定して、 空のメディアサウンドを生成します。 |
static AvatarData |
getAvatarData(byte[] data) [iアプリオプションAPI]
バイト配列を指定してアバターデータオブジェクトを取り出します。 |
static AvatarData |
getAvatarData(java.io.InputStream in) [iアプリオプションAPI]
ストリームを指定してアバターデータオブジェクトを取り出します。 |
static AvatarData |
getAvatarData(String location) [iアプリオプションAPI]
場所を指定してアバターデータオブジェクトを取り出します。 |
static MediaData |
getData(byte[] data) [iアプリオプションAPI]
バイト配列を指定してメディアデータオブジェクトを取り出します。 |
static MediaData |
getData(java.io.InputStream in) [iアプリオプションAPI]
ストリームを指定してメディアデータオブジェクトを取り出します。 |
static MediaData |
getData(String location) [iアプリオプションAPI]
場所を指定してメディアデータオブジェクトを取り出します。 |
static MediaImage |
getImage(byte[] data)
バイト配列を指定してメディアイメージオブジェクトを取り出します。 |
static MediaImage |
getImage(java.io.InputStream in)
ストリームを指定してメディアイメージオブジェクトを取り出します。 |
static MediaImage |
getImage(String location)
場所を指定してメディアイメージオブジェクトを取り出します。 |
static MediaSound |
getSound(byte[] data)
バイト配列を指定してメディアサウンドオブジェクトを取り出します。 |
static MediaSound |
getSound(java.io.InputStream in)
ストリームを指定してメディアサウンドオブジェクトを取り出します。 |
static MediaSound |
getSound(String location)
場所を指定してメディアサウンドオブジェクトを取り出します。 |
static MediaImage |
getStreamingImage(String location,
String mimetype) [iアプリオプションAPI]
擬似ストリーミング再生用として場所と MIME Type を指定してメディアイメージオブジェクトを取り出します。 |
static void |
use(MediaImage[] images,
boolean useOnce)
指定されたイメージを、 まとめて 利用可能にします。
|
static void |
use(MediaSound[] sounds,
boolean useOnce)
指定されたサウンドを、 まとめて 利用可能にします。
|
| クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| メソッドの詳細 |
public static final MediaData getData(String location) [iアプリオプションAPI]
端末によってはサポートされない場合があります。 サポートされない場合、戻り値はnullとなります。
location - 場所を指定します。
NullPointerException -
引数 location が null の場合に発生します。
IllegalArgumentException - 引数 location に指定された文字列が
"comm:"、"obex:" で開始する場合に発生します。
IllegalArgumentException - 引数 location に不正な場所が指定された場合に発生します。
SecurityException - セキュリティ上の制約に触れた場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final MediaImage getImage(String location)
location - 場所を指定します。
NullPointerException -
引数 location が null の場合に発生します。
IllegalArgumentException - 引数 location に指定された文字列が
"comm:"、"obex:" で開始する場合に発生します。
IllegalArgumentException - 引数 location に不正な場所が指定された場合に発生します。
SecurityException - セキュリティ上の制約に触れた場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final MediaSound getSound(String location)
場所を指定してメディアサウンドオブジェクトを取り出します。 location 指定のフォーマット形式が正しくない場合、 引数指定誤りになります。
location - 場所を指定します。
NullPointerException -
引数 location が null の場合に発生します。
IllegalArgumentException - 引数 location に指定された文字列が
"comm:"、"obex:" で開始する場合に発生します。
IllegalArgumentException - 引数 location に不正な場所が指定された場合に発生します。
SecurityException - セキュリティ上の制約に触れた場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final AvatarData getAvatarData(String location) [iアプリオプションAPI]
場所を指定してアバターデータオブジェクトを取り出します。 location指定のフォーマット形式が正しくない場合 、引数指定誤りになります。
端末によっては、このメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。
location - 場所を指定します。
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
NullPointerException - 引数 location が null の場合に発生します。
IllegalArgumentException - 引数 location に指定された文字列が
"comm:"、"obex:" で開始する場合に発生します。
IllegalArgumentException - 引数 location に不正な場所が指定された場合に発生します。
SecurityException - セキュリティ上の制約に触れた場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final MediaImage getStreamingImage(String location,
String mimetype) [iアプリオプションAPI]
擬似ストリーミング再生用として場所と
MIME Type を指定してメディアイメージオブジェクトを取り出します。
location指定のフォーマット形式が正しくない場合
、
引数指定誤りになります。
このメソッドでは、MIME Type の Type が "image" および "video" のものをサポートしています。
MIME Type の Subtype としてどのようなコンテンツをサポートしているかは機種依存です。
なお、例えば "text/plain" という MIME Type の場合、Type が "text"、Subtype が "plain" となります。
MIME Type のType として "image" が指定された場合は、
getImage(String) を呼び出した場合と同様に通常のメディアイメージオブジェクトを返します。
MIME Type のType として "video" が指定された場合は、
擬似ストリーミング再生用のメディアイメージオブジェクトを返します。
使用開始を宣言した後に VisualPresenter
コンポーネントにセットして再生を開始すると、メディアイメージをロードしながら
擬似ストリーミング再生を開始します。
なお、使用開始の宣言時あるいは再生開始後に擬似ストリーミング再生ができないようなメディアイメージであることが判明した場合は、
メディアイメージのロードが完了してから通常の再生を開始します。
端末によっては、
動画の擬似ストリーミング再生をサポートしていない場合があります。
そのような端末では、このメソッドを呼び出すと getImage(String)
と同様に振る舞います。
未サポートであることを理由に例外が発生することはありません。
location - 場所を指定します。mimetype - MIME Type を指定します。
NullPointerException -
引数 location または mimetype が null の場合に発生します。
UIException -
引数 mimetype にサポートしていない MIME Type が指定された場合に発生します(UNSUPPORTED_FORMAT)。
IllegalArgumentException - 引数 location に指定された文字列が
"comm:"、"obex:" で開始する場合に発生します。
IllegalArgumentException -
引数 location に不正な場所が指定された場合に発生します。
SecurityException -
セキュリティ上の制約に触れた場合に発生します。
UIException -
システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final MediaData getData(java.io.InputStream in) [iアプリオプションAPI]
端末によってはサポートされない場合があります。 サポートされない場合、戻り値はnullとなります。
in - 入力ストリームを指定します。
NullPointerException - 引数 in が null の場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final MediaImage getImage(java.io.InputStream in)
in - 入力ストリームを指定します。
NullPointerException - 引数 in が null の場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final MediaSound getSound(java.io.InputStream in)
ストリームを指定してメディアサウンドオブジェクトを取り出します。 ストリームからは、メディアサウンドのファイルイメージを取り出せる必要があります。
in - 入力ストリームを指定します。
NullPointerException - 引数 in が null の場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final AvatarData getAvatarData(java.io.InputStream in) [iアプリオプションAPI]
ストリームを指定してアバターデータオブジェクトを取り出します。 ストリームからは、アバターデータのファイルイメージを取り出せる必要があります。
端末によっては、このメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。
in - 入力ストリームを指定します。
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
NullPointerException - 引数 in が null の場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final MediaData getData(byte[] data) [iアプリオプションAPI]
端末によってはサポートされない場合があります。 サポートされない場合、戻り値はnullとなります。
data - 入力バイト配列を指定します。
NullPointerException - 引数 data が null の場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final MediaImage getImage(byte[] data)
data - 入力バイト配列を指定します。
NullPointerException - 引数 data が null の場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final MediaSound getSound(byte[] data)
バイト配列を指定してメディアサウンドオブジェクトを取り出します。 バイト配列には、メディアサウンドのファイルイメージが格納されている必要があります。
data - 入力バイト配列を指定します。
NullPointerException - 引数 data が null の場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final AvatarData getAvatarData(byte[] data) [iアプリオプションAPI]
バイト配列を指定してアバターデータオブジェクトを取り出します。 バイト配列には、アバターデータのファイルイメージが格納されている必要があります。
端末によっては、このメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。
data - 入力バイト配列を指定します。
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
NullPointerException - 引数 data が null の場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)。
public static final void use(MediaImage[] images,
boolean useOnce)
throws IterationAbortedException
指定されたイメージを、
まとめて利用可能にします。
第1引数で指定された全イメージについて「一度きりの利用」
とするかどうかを第2引数 useOnce で指定できます。
「一度きりの利用」についての詳細は
MediaResource.use(MediaResource, boolean)
の第2引数についての説明を参照してください。
メディアイメージの中には、 通信を行わないと利用可能に出来ないものも存在しますが、 引数の中にそのようなメディアイメージが指定されていても正しく動作します。
指定されたメディアイメージのうち、1つでも use
に失敗した場合には、例外 IterationAbortedException が発生します。
その場合、IterationAbortedException.getAbortedIndex()
によって、use に失敗したメディアイメージが格納されていた
配列のインデックス値が取得できます。
また、IterationAbortedException.getCause() によって、
use に失敗した原因となった例外オブジェクトを取得できます。
なお、以下の2点について注意してください。
IterationAbortedException.getCause() によって取得できる
「use に失敗した原因となった例外オブジェクト」には、
use に失敗したメディアイメージを単独で MediaResource.use()
した場合に発生するであろう例外オブジェクトと同じものです。IterationAbortedException.getAbortedIndex()
で取得したインデックス値より小さい要素に格納されている全てのメディアイメージが利用可能状態になっているわけではありません。
このメソッド呼び出しにより、配列に格納されているメディアイメージが、 どのような順番で利用可能となるかは機種依存です。 このメソッド呼び出しからリターンした時点で、 全てのメディアイメージが利用可能状態になっていることのみが保証されています。
配列の中に、既に利用可能状態のメディアイメージが含まれている場合、 そのメディアイメージに対しては何も行われません。 また、配列中の null が指定された要素は単に無視され、 非 null の要素のみが処理対象となります。
images - 利用可能にしたいメディアイメージの集合を格納した配列を指定します。useOnce - 引数 images で指定した全イメージについて、
「一度きりの利用」としたい場合には true を、
そうでない場合には false を指定します。
NullPointerException - 引数 images に null が指定された}場合に発生します。
IterationAbortedException - 配列 images に格納されているメディアイメージのいずれかが、
use に失敗した場合に発生します。
public static final void use(MediaSound[] sounds,
boolean useOnce)
throws IterationAbortedException
指定されたサウンドを、
まとめて利用可能にします。
引数に指定できるのがメディアサウンドである事以外は、
use(MediaImage[], boolean) と同じです。
sounds - 利用可能にしたいメディアサウンドの集合を格納した配列を指定します。useOnce - 引数 sounds で指定した全サウンドについて、
「一度きりの利用」としたい場合には true を、
そうでない場合には false を指定します。
NullPointerException - 引数 sounds に null が指定された}場合に発生します。
IterationAbortedException - 配列 sounds に格納されているメディアサウンドのいずれかが、
use に失敗した場合に発生します。
public static final MediaImage createMediaImage(int width,
int height)
画像の幅・高さを指定して、 空のメディアイメージを生成します。
これによって生成されたメディアイメージの振る舞いは以下の通りです。
MediaResource.unuse() してしまうと、
再度 use() した時点で例外が発生します。
MediaResource.setProperty(String, String)
呼び出しは常に(例外が発生しない条件であれば)無視され、
MediaResource.getProperty(String)
は、引数に何を指定して呼び出しても(例外が発生しない条件であれば)
null を返します。
このメソッドは、まだどの画像を使うかは決まっていないが、 必要な内部データ領域の最大サイズが分かっている場合に有用です。 例えば、ひとつのメディアイメージで、 画像 a, b, c を使い回す場合を考えます。 画像は a, b, c の順番で利用するが、 縦・横サイズの一番大きな画像は b である場合に、 以下のようなコードを書くことで、 サイズオーバになることなく、a, b, c 全ての画像を使い回すことが出来ます。
// 画像 b の縦・横サイズで内部データ領域を確保 MediaImage empty = MediaManager.createMediaImage(画像 b の縦・横サイズ); MediaImage a = MediaManager.getImage(画像 a のデータ); a.use(empty, true); // emptyで確保した内部データ領域を画像 a で上書き // ここで画像 a を利用する MediaImage b = MediaManager.getImage(画像 b のデータ); b.use(a, true); // a で使っていた内部データ領域を画像 b で利用 // ここで画像 b を利用する MediaImage c = MediaManager.getImage(画像 c のデータ); c.use(b, true); // b で使っていた内部データ領域を画像 c で利用 // ここで画像 c を利用する
width - 生成したい空のメディアイメージの幅を指定します。height - 生成したい空のメディアイメージの高さを指定します。
IllegalArgumentException - 引数 width、height のいずれかに
0 または 負の値が指定された場合に発生します。
UIException - 必要なリソースが確保できなかった場合に発生します(NO_RESOURCES)。
public static final MediaSound createMediaSound(int bytes)
サウンドのデータサイズ [bytes] を指定して、 空のメディアサウンドを生成します。
これによって生成されたメディアサウンドの振る舞いは以下の通りです。
MediaResource.unuse() してしまうと、
再度 use() した時点で例外が発生します。
AudioPresenter
で再生しても音は鳴りませんが、再生自体は可能です。
その場合、
例外は発生せず、再生開始・停止・完了イベントも通常通り発生しますが、
再生時間は機種依存です。
MediaResource.setProperty(String, String)
呼び出しは常に(例外が発生しない条件であれば)無視され、
MediaResource.getProperty(String)
は、引数に何を指定して呼び出しても(例外が発生しない条件であれば)
null を返します。
このメソッドは、まだどのサウンドを使うかは決まっていないが、
必要な内部データ領域の最大サイズが分かっている場合に有用です。
具体的な使用例については createMediaImage(int, int)
を参考にしてください。
bytes - 生成したい空のメディアサウンドのデータサイズ [bytes]
を指定します。
IllegalArgumentException - 引数 bytes に 0 または 負の値が指定された場合に発生します。
UIException - 必要なリソースが確保できなかった場合に発生します(NO_RESOURCES)。