com.nttdocomo.ui
クラス MediaManager

Object
  拡張com.nttdocomo.ui.MediaManager

public final class MediaManager
extends Object

メディアリソースデータの管理オブジェクトを定義します。
リソースの取得と利用時の振舞は以下のようになります。

[DoJa-5.0 (903i) 以降]
MediaResource.use() メソッド、 MediaResource.unuse() メソッド呼び出しによる、 メモリ確保・解放に関する振る舞いをモデル化するために、 以下の2つの領域を定義します。

オリジナルデータ領域:
内部表現形式に変換される前のデータイメージを保存しておく領域です。 例えば、 GIF 画像の場合は、GIF フォーマットのデータそのものを保存しておく領域がこれにあたります。
内部データ領域:
メディアリソースに対して use メソッドを呼び出すと、 内部表現形式への変換を行いますが、 その変換後のデータの一部(または全て)を保存しておく領域です。

use()、unuse() 時のメモリ確保・解放に関する振る舞いは、 getImage()、getSound()、getAvatarData() メソッドの引数に、何を指定するかによって、下記のように異なります。 ただし、データによっては内部表現形式に変換する必要のないものがあります。 そのようなデータについては「オリジナルデータ領域」のみが存在するものとし、 下記の説明の「オリジナルデータ領域」に関する説明のみ有効とします。

URL 指定により取得したメディアリソース:
1回目の use 時:
  • 新しく「オリジナルデータ領域」を確保する。 URLで指定されたロケーションよりデータを読み込み、 そのデータを「オリジナルデータ領域」に保存する。
  • 新しく「内部データ領域」を確保する。 「オリジナルデータ領域」内のデータを内部形式に変換して 「内部データ領域」に保持する。
unuse 時:
「内部データ領域」のみを解放する。
2回目以降の use 時:
新しく「内部データ領域」を確保する。 URLで指定されたロケーションからのデータ読み込みは行わず、 「オリジナルデータ領域」 内のデータを内部形式に変換して「内部データ領域」に保持する。
バイト配列指定により取得したメディアリソース:
1回目の use 時:
  • 新しく「オリジナルデータ領域」を確保する。 参照しているバイト配列の内容を 「オリジナルデータ領域」へコピーし、保存する。
  • 新しく「内部データ領域」を確保する。 「オリジナルデータ領域」内のデータを内部形式に変換して 「内部データ領域」に保持する
unuse 時:
「内部データ領域」のみを解放する。
2回目以降の use 時:
新しく「内部データ領域」を確保する。 「オリジナルデータ領域」 内のデータを内部形式に変換して「内部データ領域」に保持する。
ストリーム指定により取得したメディアリソース:
1回目の use 時:
  • 新しく「オリジナルデータ領域」を確保する。 データ1つ分をストリームより読み込み、 そのデータを「オリジナルデータ領域」に保存する。
  • 新しく「内部データ領域」を確保する。 「オリジナルデータ領域」内のデータを内部形式に 変換して「内部データ領域」に保持する。
unuse 時:
[DoJa-5.0 (904i) まで]
「オリジナルデータ領域」、「内部データ領域」を解放する。
[DoJa-5.1 (905i) 以降]
「内部データ領域」を解放する。
2回目以降の use 時:
[DoJa-5.0 (904i) まで]
「1回目の use 時」と同様の振る舞いをする。
[DoJa-5.1 (905i) 以降]
新しく「内部データ領域」を確保する。 「オリジナルデータ領域」内のデータを内部形式に変換して 「内部データ領域」に保持する。

ミニマムスペック:
ミニマムスペックでは、getDataメソッドは、nullを返します。

関連項目:
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
 

メソッドの詳細

getData

public static final MediaData getData(String location) [iアプリオプションAPI]
場所を指定してメディアデータオブジェクトを取り出します。 location指定のフォーマット形式が正しくない場合 、引数指定誤りになります。

端末によってはサポートされない場合があります。 サポートされない場合、戻り値はnullとなります。

パラメータ:
location - 場所を指定します。
戻り値:
メディアデータオブジェクトを返します。
例外:
NullPointerException - 引数 location が null の場合に発生します。
IllegalArgumentException - 引数 location に指定された文字列が "comm:"、"obex:" で開始する場合に発生します。
IllegalArgumentException - 引数 location に不正な場所が指定された場合に発生します。
SecurityException - セキュリティ上の制約に触れた場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)

getImage

public static final MediaImage getImage(String location)
場所を指定してメディアイメージオブジェクトを取り出します。 location指定のフォーマット形式が正しくない場合 、引数指定誤りになります。

パラメータ:
location - 場所を指定します。
戻り値:
メディアイメージオブジェクトを返します。
例外:
NullPointerException - 引数 location が null の場合に発生します。
IllegalArgumentException - 引数 location に指定された文字列が "comm:"、"obex:" で開始する場合に発生します。
IllegalArgumentException - 引数 location に不正な場所が指定された場合に発生します。
SecurityException - セキュリティ上の制約に触れた場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)

getSound

public static final MediaSound getSound(String location)

場所を指定してメディアサウンドオブジェクトを取り出します。 location 指定のフォーマット形式が正しくない場合、 引数指定誤りになります。

パラメータ:
location - 場所を指定します。
戻り値:
メディアサウンドオブジェクトを返します。
例外:
NullPointerException - 引数 location が null の場合に発生します。
IllegalArgumentException - 引数 location に指定された文字列が "comm:"、"obex:" で開始する場合に発生します。
IllegalArgumentException - 引数 location に不正な場所が指定された場合に発生します。
SecurityException - セキュリティ上の制約に触れた場合に発生します。
UIException - システムリソースの不足などでオブジェクトが生成できなかった場合に発生します(NO_RESOURCES)

getAvatarData

public static final AvatarData getAvatarData(String location) [iアプリオプションAPI]

場所を指定してアバターデータオブジェクトを取り出します。 location指定のフォーマット形式が正しくない場合 、引数指定誤りになります。

端末によっては、このメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。

パラメータ:
location - 場所を指定します。
戻り値:
アバターデータオブジェクトを返します。
例外:
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
NullPointT>謌サ繧雁