com.nttdocomo.ui
インタフェース MediaImage

すべてのスーパーインタフェース:
MediaResource

public interface MediaImage
extends MediaResource

メディアイメージを定義します。 このメディアイメージ インタフェースは、 メディアリソースを画像として扱う場合に使用します。

メディアイメージは MediaManager クラスのメソッドを使用して取得します。 実際にどのようなクラスのオブジェクトが返されるかは機種依存です。 メディアイメージは VisualPresenter コンポーネントで表示するか、 Image オブジェクトを取り出して使用します。

関連項目:
MediaManager, VisualPresenter

フィールドの概要
static String MP4_AUDIOTRACK [iアプリオプションAPI]
           動画データに含まれる、 再生可能な Audio トラックの数を表すプロパティのキーです(= "mp4.audiotrack")。
static String MP4_TEXTTRACK [iアプリオプションAPI]
           動画データに含まれる、 再生可能な Text トラックの数を表すプロパティのキーです(= "mp4.texttrack")。
static String MP4_VIDEOTRACK [iアプリオプションAPI]
           動画データに含まれる、 再生可能な Video トラックの数を表すプロパティのキーです(= "mp4.videotrack")。
 
メソッドの概要
 ExifData getExifData() [iアプリオプションAPI]
           このメディアイメージに関連付けられている EXIF 情報を取得します。
 int getHeight()
          イメージの高さを取得します。
 Image getImage()
           メディアイメージからイメージオブジェクトを取得します。
 int getWidth()
          イメージの幅を取得します。
 void setExifData(ExifData exif) [iアプリオプションAPI]
           このメディアイメージに、指定された EXIF 情報を関連付けます。
 void use(MediaResource overwritten, boolean useOnce)
           メモリ領域を再利用したいメディアリソース、および 、一度きりの利用であるかどうかを指定して、 このメディアイメージの使用開始を宣言します。
 
インタフェース com.nttdocomo.ui.MediaResource から継承したメソッド
dispose, getProperty, isRedistributable, setProperty, setRedistributable, unuse, use
 

フィールドの詳細

MP4_VIDEOTRACK

public static final String MP4_VIDEOTRACK [iアプリオプションAPI]

動画データに含まれる、 再生可能な Video トラックの数を表すプロパティのキーです(= "mp4.videotrack")。 MediaResource.getProperty(String) メソッドの引数として使用します。

動画データに再生可能な Video トラックが含まれていた場合、 含まれている Video トラックの数を表す文字列 (Integer.parseInt(String) にて変換できる文字列) が返されます。 再生可能な Video トラックが含まれていなかった場合、 "0" が返されます。

このメディアイメージが動画データでない場合にはこのキーは無効です。

導入されたバージョン:
DoJa-4.0 (901i)
関連項目:
定数フィールド値

MP4_AUDIOTRACK

public static final String MP4_AUDIOTRACK [iアプリオプションAPI]

動画データに含まれる、 再生可能な Audio トラックの数を表すプロパティのキーです(= "mp4.audiotrack")。 MediaResource.getProperty(String) メソッドの引数として使用します。

動画データに再生可能な Audio トラックが含まれていた場合、 含まれている Audio トラックの数を表す文字列 (Integer.parseInt(String) にて変換できる文字列) が返されます。 再生可能な Audio トラックが含まれていなかった場合、 "0" が返されます。

このメディアイメージが動画データでない場合にはこのキーは無効です。

導入されたバージョン:
DoJa-4.0 (901i)
関連項目:
定数フィールド値

MP4_TEXTTRACK

public static final String MP4_TEXTTRACK [iアプリオプションAPI]

動画データに含まれる、 再生可能な Text トラックの数を表すプロパティのキーです(= "mp4.texttrack")。 MediaResource.getProperty(String) メソッドの引数として使用します。

動画データに再生可能な Text トラックが含まれていた場合、 含まれている Text トラックの数を表す文字列 (Integer.parseInt(String) にて変換できる文字列) が返されます。 再生可能な Text トラックが含まれていなかった場合、 "0" が返されます。

このメディアイメージが動画データでない場合にはこのキーは無効です。

導入されたバージョン:
DoJa-4.0 (901i)
関連項目:
定数フィールド値
メソッドの詳細

getWidth

public int getWidth()
イメージの幅を取得します。

[DoJa-4.1 (902i) 以降]
このメディアイメージがベクターグラフィックスである場合は 0 が返ります。

[DoJa-5.0 (903i) 以降]
利用可能状態でない場合には 0 が返ります。

戻り値:
イメージの幅を返します。
例外:
UIException - 既に dispose されているメディアイメージに対して呼び出された場合に発生します(ILLEGAL_STATE)。

getHeight

public int getHeight()
イメージの高さを取得します。

[DoJa-4.1 (902i) 以降]
このメディアイメージがベクターグラフィックスである場合は 0 が返ります。

[DoJa-5.0 (903i) 以降]
利用可能状態でない場合には 0 が返ります。

戻り値:
イメージの高さを返します。
例外:
UIException - 既に dispose されているメディアイメージに対して呼び出された場合に発生します(ILLEGAL_STATE)。

getImage

public Image getImage()

メディアイメージからイメージオブジェクトを取得します。 メディアイメージをイメージオブジェクトに変換できない場合は null を返します。

このメソッドを呼び出すことにより得られたイメージオブジェクトを Image.dispose() しない限り、 複数回このメソッドを呼び出しても、 同一の有効なイメージオブジェクトへの参照が返されます。
得られたイメージオブジェクトを dispose() してからこのメソッドを呼び出すと、 新しく有効なイメージオブジェクトが生成されて返されます。

このメディアイメージがunuse()dispose() された場合は、メディアイメージから取得したイメージオブジェクトは、 そのオブジェクトを参照しているオブジェクトが存在しているか否かに関係なく 無効(Image.dispose() が呼ばれた状態)となります。

[DoJa-4.1 (902i) 以降]
このメディアイメージがベクターグラフィックスである場合は null が返ります。

戻り値:
イメージオブジェクトを返します。 返されるイメージオブジェクトには、 このオブジェクトの再配布可能かどうかの設定は引き継がれません。
[DoJa-4.1 (902iS) 以降]
返されるイメージオブジェクトには、 MediaResource.setProperty(String, String) で設定されたプロパティ値は引き継がれません。
例外:
UIException - このメディアイメージがunuse、dispose されている場合に発生します(ILLEGAL_STATE)。

use

public void use(MediaResource overwritten,
                boolean useOnce)
         throws ConnectionException

メモリ領域を再利用したいメディアリソース、および 、一度きりの利用であるかどうかを指定して、 このメディアイメージの使用開始を宣言します。 このメソッドの基本的な動作については、 スーパーインタフェースの説明を参照して下さい。 なお、メディアイメージにおいては、加えて下記のように振る舞います。

  • 「内部データ領域」の再利用に関しては、 動画、アニメ GIF、ベクターグラフィックスは対象外です。 これらのデータは内部表現形式に変換されないデータや、 幅・高さから内部データ領域のサイズが特定できないデータです。 このオブジェクトも、引数で指定されたオブジェクトも、 静止画(アニメ GIF を除く)でなければなりません。 対象外のオブジェクトに対して、引数 overwritten に非 null が指定された場合には、 例外 UIException(UNSUPPORTED_FORMAT) が発生します。
  • このメディアイメージの高さは、引数 overwritten が保持している「内部データ領域」 が初めて、無引数の MediaResource.use() (あるいは第1引数に null を指定した use(MediaResource, boolean)) によって確保された時点における、 メディアイメージの幅・高さ以下でなければなりません。
  • 「内部データ領域」のサイズは、それが確保された時点で確定し、 その後増減することはありません。 したがって、「内部データ領域」 確保時点よりも(幅・高さが)小さいサイズのイメージで上書きしても、 利用メモリ量は減少しません。 逆に、一旦小さいサイズのイメージで上書きしてから、 再度 (「内部データ領域」確保時点のサイズよりは小さいが) 大きいサイズのイメージで上書きしても、 新たなメモリ消費はありません。
  • このメディアイメージの元データのフォーマットと、 引数で指定されたメディアイメージのフォーマットは、 必ずしも同一である必要はありません。
  • このメソッドを呼び出すと(例外発生の有無に関わらず)、 引数 overwritten は利用不可状態 (unuse された状態) になります。 それに伴ない、引数 overwritten から getImage() によって取得された(破棄されていない)イメージは、 全て破棄されます。
  • 「一度きり」を有効にして use した場合は、 setExifData(ExifData)getExifData() を呼び出すと例外が発生します。

定義:
インタフェース MediaResource 内の use
パラメータ:
overwritten - 領域を再利用したいメディアイメージを指定します。 null を指定すると、このメディアイメージの 「内部データ領域」は新規に確保されます。
useOnce - このメディアイメージの利用が「一度きり」の場合には true を、そうでない場合には false を指定します。
例外:
UIException - 既に dispose されているメディアイメージに対して呼び出された場合に発生します(ILLEGAL_STATE)。
IllegalArgumentException - 引数 overwritten に このオブジェクト自身が設定された場合に発生します。
ClassCastException - 引数 overwritten の実行時の型と、 このオブジェクトの実行時の型が異なる場合に発生します。
UIException - 引数 overwritten で指定されたメディアイメージが、 「内部データ領域」 の再利用対象外のデータフォーマットであった場合に発生します (UNSUPPORTED_FORMAT)。
UIException - このメディアイメージが 「内部データ領域」 の再利用対象外のデータフォーマットであり、 引数 overwritten に非 null が設定された場合に発生します (UNSUPPORTED_FORMAT)。
UIException - 引数 overwritten が利用可能状態でない場合に発生します (ILLEGAL_STATE)。
UIException - このオブジェクトが、「一度きり」と指定して use され、その後 unuse されていた場合に発生します(ILLEGAL_STATE)。
UIException - このメディアイメージを利用可能状態にするのに必要な領域が、 引数 overwritten が確保している領域よりも大きい場合に発生します(NO_RESOURCES)。
SecurityException - セキュリティ上の制約に触れた場合に発生します。
ConnectionException - ネットワーク通信などで例外が発生した場合に発生します。 ネットワークサービスがないか圏外の場合、 ステータスには OUT_OF_SERVICE が設定されています。 タイムアウトの場合には、TIMEOUTが設定されています。 定額制ユーザのデータ通信規制中の場合にも、 ステータスには OUT_OF_SERVICE が設定されています。
UIException - 端末で再生できないようなデータフォーマットの場合に発生します (UNSUPPORTED_FORMAT)。 データの長さが0の場合など、 フォーマットが不正と見なされる場合を含みます。
UIException - 必要なリソースが確保できなかった場合に発生します(NO_RESOURCES)。
導入されたバージョン:
DoJa-5.0 (903i)

getExifData

public ExifData getExifData() [iアプリオプションAPI]

このメディアイメージに関連付けられている EXIF 情報を取得します。 このメディアイメージが JPEG-EXIF フォーマットでない場合には null が返されます。

GPS info IFD に記録されているタグの取得のみがサポートされています。 その他のタグについては、存在している場合でも参照することはできません。

このメソッドによって返されるオブジェクトは、 内部で保持しているオブジェクトのコピーです。

[DoJa-5.1 (905i) 以降]
ExifData.getSupportStatus(int, int) により ExifData.SUPPORT_GET または (ExifData.SUPPORT_GET | ExifData.SUPPORT_SET)を返すタグのみが ExifData オブジェクトに格納されます。

戻り値:
このメディアイメージに関連付けられている EXIF 情報を返します。
例外:
UIException - このメディアイメージが use 状態でない場合に発生します(ILLEGAL_STATE)。
UIException - このメディアイメージが「一度きり」と指定して use されていた場合に発生します(ILLEGAL_STATE)。
導入されたバージョン:
DoJa-5.0 (903i)