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

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

public interface MediaSound
extends MediaResource

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

メディアサウンドは MediaManager クラスのメソッドを使用して取得します。 実際にどのようなクラスのオブジェクトが返されるかは機種依存です。 メディアサウンドは AudioPresenter オブジェクトで再生します。

関連項目:
MediaManager, AudioPresenter

フィールドの概要
static String AUDIO_3D_RESOURCES
           3D サウンドの制御に必要なリソース数を表すプロパティのキーです(= "3d.resources")。
 
メソッドの概要
 void use(MediaResource overwritten, boolean useOnce)
           一度きりの利用であるかどうかを指定して、 このメディアサウンドの使用開始を宣言します。
 
インタフェース com.nttdocomo.ui.MediaResource から継承したメソッド
dispose, getProperty, isRedistributable, setProperty, setRedistributable, unuse, use
 

フィールドの詳細

AUDIO_3D_RESOURCES

public static final String AUDIO_3D_RESOURCES

3D サウンドの制御に必要なリソース数を表すプロパティのキーです(= "3d.resources")。 MediaResource.getProperty(java.lang.String) メソッドの引数として使用します。

SMF や MFi などのサウンドデータにイベントを埋め込んで 3D 環境をコントロールする場合に、 サウンドデータが必要とするリソース数を取得するために使用します。

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

use

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

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

  • 全てのメディアサウンドにおいて、「内部データ領域」の再利用、 ならびに、「一度きり」の利用指定をサポートしています。
  • このメディアサウンドの元となったサウンドデータ(SMF や MFi など)の大きさ [bytes] は、引数 overwritten が保持している「内部データ領域」 が初めて、無引数の MediaResource.use() (あるいは第1引数に null を指定した use(MediaResource, boolean)) によって確保された時点における、 サウンドデータの大きさ以下でなければなりません。
  • 「内部データ領域」のサイズは、それが確保された時点で確定し、 その後増減することはありません。 したがって、「内部データ領域」 確保時点よりも小さいサイズのサウンドデータで上書きしても、 利用メモリ量は減少しません。 逆に、一旦小さいサイズのサウンドデータで上書きしてから、 再度 (「内部データ領域」確保時点のデータサイズよりは小さいが) 大きいデータサイズのサウンドで上書きしても、 新たなメモリ消費はありません。
  • このメディアサウンドの元データのフォーマットと、 引数で指定されたメディアサウンドのフォーマットは同一である必要はありません。
  • このメソッドを呼び出すと(例外発生の有無に関わらず)、 引数 overwritten は利用不可状態(unuse された状態)になります。

定義:
インタフェース MediaResource 内の use
パラメータ:
overwritten - 領域を再利用したいメディアサウンドを指定します。 null を指定すると、このメディアサウンドの 「内部データ領域」は新規に確保されます。
useOnce - このメディアサウンドの利用が「一度きり」の場合には true を、そうでない場合には false を指定します。
例外:
IllegalArgumentException - 引数 overwritten に このオブジェクト自身が設定された場合に発生します。
ClassCastException - 引数 overwritten の実行時の型と、 このオブジェクトの実行時の型が異なる場合に発生します。
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)。