com.nttdocomo.system
クラス MovieStore

Object
  拡張com.nttdocomo.system.MovieStore

public final class MovieStore
extends Object
 [iアプリオプションAPI]

携帯電話のネイティブの動画データ管理機能にアクセスする手段を提供します。 このクラスのインスタンスは、 携帯電話のネイティブの動画データの 1 つのエントリを表します。

このクラスに定義されているクラスメソッドの使い方や、 ネイティブのデータへのアクセス方法に関する規定の大原則については、 com.nttdocomo.system パッケージの記述を参照して下さい。 ただし、エントリ登録機能 (addEntry(MediaImage)) については、下記の点が大原則と異なります。

addEntry によって返されるエントリ ID について:
ImageStoreSoundStore のエントリ ID と必ず重複しません。詳細は addEntry(MediaImage) を参照してください。

登録する動画データは、MediaManager.getImage(String) メソッドなどからメディアイメージとして取得します。

addEntry(MediaImage) メソッドによって返されたエントリ ID は、 PhoneSystem.setMovieTheme(int, int)PhoneSystem.setImageTheme(int, int)PhoneSystem.setSoundTheme(int, int) メソッドに指定することが可能です。 その時のそれぞれの動作については、各メソッドの説明文を参照してください。

[DoJa-4.0 (901iS) まで]
エントリ取得機能 (selectEntry、getEntry) は提供されません。

[DoJa-4.1 (902i) 以降]
エントリ取得機能 (selectEntry、getEntry) を提供します。 動画データのエントリからは、エントリ ID を取得することが出来るほか、 動画をメディアイメージオブジェクトとして取り出したり、 動画のファイルイメージを取り出すための InputStream を取得することができます。

導入されたバージョン:
DoJa-4.0 (901i)

メソッドの概要
static int addEntry(MediaImage movie)
           ユーザ操作により動画データを新規登録します。
static MovieStore getEntry(int id)
          動画データのエントリを取得します。
static int[] getEntryIds(int folderId)
          動画データのエントリ ID のリストを取得します。
 int getId()
          動画データのエントリIDを取得します。
 MediaImage getImage()
          動画データのエントリのイメージをメディアイメージとして取得します。
 java.io.InputStream getInputStream()
          動画データのエントリのイメージをファイルイメージとして取り出すための 入力ストリームを取得します。
static MovieStore selectEntry()
          ユーザ操作により動画データのエントリを取得します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

selectEntry

public static MovieStore selectEntry()
                              throws InterruptedOperationException
ユーザ操作により動画データのエントリを取得します。

ADF に AccessUserInfo キーの指定が必要です。 上記以外の動作の詳細については、 com.nttdocomo.system パッケージに記述されている説明を参照してください。

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

戻り値:
取得した動画データのエントリを返します。 ユーザが選択操作をキャンセルするとnullを返します。 また、選択可能なエントリが存在しない場合にもnullを返します。
例外:
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
IllegalStateException - ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
SecurityException - ADFにAccessUserInfoキーの指定がないアプリケーションが このメソッドを呼び出した場合に発生します。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、 動画データのエントリを取得できない場合に発生します。
UIException - リソース不足により動画データを取得できなかった場合に発生します (NO_RESOURCES)。
InterruptedOperationException - 競合条件などにより、選択操作が異常終了した場合に発生します。
導入されたバージョン:
DoJa-4.1 (902i)

getEntry

public static MovieStore getEntry(int id)
                           throws StoreException
動画データのエントリを取得します。

ADF に AccessUserInfo キーの指定が必要です。 上記以外の動作の詳細については、 com.nttdocomo.system パッケージに記述されている説明を参照してください。

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

パラメータ:
id - 取得する動画データのエントリIDを指定します。
戻り値:
取得した動画データのエントリを返します。
例外:
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
IllegalStateException - ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
SecurityException - ADFにAccessUserInfoキーの指定がないアプリケーションが このメソッドを呼び出した場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、 動画データのエントリを取得できない場合に発生します。
以下の場合も含みます。
  • UIM 内情報を用いた実行制限がかけられている場合
  • 指定された ID の動画が、 このアプリケーション自身が保存したものではなく、 かつ、その動画データに再配布不可識別子が設定されている場合
StoreException - 指定された ID の動画エントリが存在しない場合に発生します(NOT_FOUND)。
UIException - リソース不足により動画データを取得できなかった場合に発生します (NO_RESOURCES)。
導入されたバージョン:
DoJa-4.1 (902i)

getEntryIds

public static int[] getEntryIds(int folderId)
                         throws StoreException
動画データのエントリ ID のリストを取得します。

ユーザの選択によらず、 フォルダのエントリ ID を引数に指定して、 フォルダ直下にある動画データのエントリ ID のリストを取得します。 なお、アプリケーションがサスペンドすることなく、エントリ ID のリストを取得できます。

フォルダのエントリ ID は DataBoxFolder クラスのメソッドにより取得することができます。 引数で指定したエントリ ID のフォルダが、 データ BOX フォルダ配下の i モーションフォルダ直下に存在しない場合に例外が発生します。

このメソッドでエントリ ID のリストの対象となる動画データは、 getEntry(int)selectEntry() で取得可能な動画データです。 エントリ ID のリストの対象とならない動画データが、 引数 folderId で指定されたフォルダ直下にある場合には、 このメソッドは例外を発生せずに、それらのエントリ ID を除いたリストを返します。

ADF に AccessUserInfo キーの指定が必要です。

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

パラメータ:
folderId - フォルダのエントリ ID を指定します。
戻り値:
取得した動画データのエントリ ID のリストを返します。 取得可能なエントリ ID が存在しない場合には null を返します。
例外:
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
IllegalStateException - ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
SecurityException - ADF に AccessUserInfo キーの指定がないアプリケーションがこのメソッドを呼び出した場合に発生します。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、 動画データのエントリ ID を取得できない場合に発生します。
StoreException - 指定されたエントリ ID のフォルダが、i モーションフォルダ直下に存在しない場合に発生します(NOT_FOUND)。
導入されたバージョン:
DoJa-5.0 (903i)

addEntry

public static int addEntry(MediaImage movie)
                    throws InterruptedOperationException

ユーザ操作により動画データを新規登録します。 引数に指定された動画データが保持している再配布可能かどうかの設定のままで登録されます。

このメソッドにより返されるエントリ ID は、 ImageStore クラスや SoundStore クラスのエントリ ID を取得するメソッドによって返されるエントリ ID とは必ず重複しません。

[DoJa-4.0 (901iS) まで]
パーミッションとしてテーマ設定が許可されているトラステッドiアプリのみ このメソッドを呼び出すことができます。
[DoJa-4.1 (902i) 以降]
ADF に AccessUserInfo キーの指定が必要です。 パーミッションとしてテーマ設定が許可されている場合でも、 このメソッドを呼び出すことができます(推奨されていません)。 ADF に AccessUserInfo キーの指定がなく、かつパーミッションとしてテーマ設定が許可されていない場合には、例外 SecurityException が発生します。

上記以外の動作の詳細については、 com.nttdocomo.system パッケージに記述されている説明を参照してください。

データ保存領域の容量を超えているために登録できない場合は、 ユーザが登録操作をキャンセルした場合と同様の値を返します。

引数 movie に MediaManager.getStreamingImage(String, String) メソッドによって取得し、 かつファイル全体のダウンロードが完了していない動画データのメディアイメージが指定された場合、 以下のいずれかのように振る舞います。

  • 登録を試みず、 即座に UIException(UNSUPPORTED_FORMAT) が発生する。
  • このメソッドが呼ばれた後に、 新規に(または継続して)ダウンロードを試み、 ダウンロードが完了できたら、その動画を登録する。 何らかの理由で完了できなかったら、 UIException(UNSUPPORTED_FORMAT) が発生する。

パラメータ:
movie - 登録する動画のメディアイメージを指定します。
戻り値:
登録されたエントリのIDを返します。
ユーザが登録操作をキャンセルした場合、-1 を返します。
例外:
IllegalStateException - [DoJa-4.1 (902i) 以降] ダウンロード即起動アプリがこのメソッドを呼び出した場合に発生します。
IllegalStateException - 待ち受け実行時の非活性化状態で呼び出された場合に発生します。
NullPointerException - 引数 movie に null が指定された場合に発生します。
UIException - 引数の movie にシステムが提供している以外のメディアイメージ (MediaImageインタフェースを実装した未知のクラスのオブジェクト) が渡された場合に発生します(UNSUPPORTED_FORMAT)。
UIException - 指定されているメディアイメージが use 状態でない場合に発生します (ILLEGAL_STATE)。
UIException - [DoJa-5.0 (903i) 以降] 指定されているメディアイメージの利用が「一度きり」 である場合に発生します(ILLEGAL_STATE)。
SecurityException - [DoJa-4.1 (902i) 以降] ADFにAccessUserInfoキーの指定がなく、 かつ、パーミッションとしてテーマ設定が許可されていないアプリケーションが このメソッドを呼び出した場合に発生します。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、 動画データを登録できない場合に発生します。
UIException - 指定されているメディアイメージが、 MediaManager.getStreamingImage(String, String) メソッドにて取得したものであり、 かつファイル全体のダウンロードが完了していない場合に発生します (UNSUPPORTED_FORMAT)。
UIException - 指定された動画の縦もしくは横のいずれかが、 登録可能な動画サイズよりも大きい場合に発生します (UNSUPPORTED_FORMAT)。
UIException - 指定された動画のデータサイズが、 登録可能なデータサイズ(bytes)よりも大きい場合に発生します (UNSUPPORTED_FORMAT)。
UIException - 静止画像 (アニメ GIF を含む) が指定された場合に発生します (UNSUPPORTED_FORMAT)。
InterruptedOperationException - 競合条件などにより、登録操作が異常終了した場合に発生します。

getId

public int getId()
動画データのエントリIDを取得します。

戻り値:
動画データのエントリIDを返します。
導入されたバージョン:
DoJa-4.1 (902i)

getImage

public MediaImage getImage()
動画データのエントリのイメージをメディアイメージとして取得します。

取得されたメディアイメージは、disposeもuseもされていない状態です。

常に同じメディアイメージオブジェクトを返します。 このため、既にメディアイメージオブジェクトが利用不可状態(unuse() が実行された状態)、 リソース破棄状態(dispose() が実行された状態)である場合は、 同じ状態のメディアイメージオブジェクトが返ります。 dispose() 後にメディアイメージを利用するには、 getEntry(int) または selectEntry() によって画像データのエントリを再取得し、 本メソッドで別のメディアイメージオブジェクトを取得しなければなりません。

戻り値:
メディアイメージを返します。
導入されたバージョン:
DoJa-4.1 (902i)