com.nttdocomo.ui
クラス AudioPresenter

java.lang.Object
  |
  +--com.nttdocomo.ui.AudioPresenter
すべての実装インタフェース:
MediaPresenter

public class AudioPresenter
extends java.lang.Object
implements MediaPresenter

音声のメディアデータの、再生オブジェクトを定義します。 メディア再生 クラスは、音を出すメディアデータを再生するためのプレゼンタです。 リスナーを登録することによって、演奏の状態の通知を受けることができます。

端末で再生できないようなメディアデータをセットした場合の振舞は機種依存で、 UIExceptionが発生する場合があります。

属性の設定は setAttribute メソッドを使用します。

setData メソッドと setSound メソッドは、1つのプレゼンタオブジェクトに対して排他的に使用します。 setData メソッドでメディアデータを設定してから setSound メソッドでサウンドデータを 設定したり、その逆をしたりすることはできません。 同じメソッドを複数回呼出した場合は、最後に設定したデータが有効になります。

ミニマムスペック

[DoJa-1.0]
ミニマムスペックでは、AUDIO_COMPLETEイベントタイプのイベントが発生することは保証しますが、 他のイベントタイプが発生するかどうかは、機種依存です。
[DoJa-2.0]
ミニマムスペックでは、AUDIO_COMPLETE、AUDIO_PLAYING、AUDIO_STOPPEDの各イベントタイプの イベントが発生することを保証します。 他のイベントタイプが発生するかどうかは、機種依存です。

[DoJa-2.0]
再生中にアプリケーションがサスペンドした場合、再生は停止します。 すなわち、stop メソッドが呼ばれたのと同じ状態になります。

関連項目:
MediaSound, MediaData, MediaListener

フィールドの概要
static int ATTR_SYNC_OFF [iアプリオプションAPI]
           同期イベントの属性値で、同期イベントを発生させないことを表します(=0)。
static int ATTR_SYNC_ON [iアプリオプションAPI]
           同期イベントの属性値で、同期イベントを発生させることを表します(=1)。
static int AUDIO_COMPLETE
          演奏が終了したことを示すイベントタイプです (=3)。
static int AUDIO_PAUSED [iアプリオプションAPI]
           演奏が一時停止したことを示すイベントタイプです(=5)。
static int AUDIO_PLAYING
          演奏が開始されたことを示すイベントタイプです (=1)。
static int AUDIO_RESTARTED [iアプリオプションAPI]
           演奏が再開したことを示すイベントタイプです(=6)。
static int AUDIO_STOPPED
          演奏が中断されたことを示すイベントタイプです (=2)。
static int AUDIO_SYNC [iアプリオプションAPI]
           曲データの同期イベントを示すイベントタイプです(=4)。
static int MAX_OPTION_ATTR
           オプションのオーディオ属性の最大値 (=255)。
static int MAX_PRIORITY
           優先順位の属性値で、最も高い優先順位を表します (=10)。
protected static int MAX_VENDOR_ATTR
          ベンダ定義属性の種類の最大値(=127)。
protected static int MAX_VENDOR_AUDIO_EVENT
          ベンダ定義のイベントの最大値(=127)。
static int MIN_OPTION_ATTR
           オプションのオーディオ属性の最小値 (=128)。
static int MIN_PRIORITY
           優先順位の属性値で、最も低い優先順位を表します (=1)。
protected static int MIN_VENDOR_ATTR
          ベンダ定義属性の種類の最小値(=64)。
protected static int MIN_VENDOR_AUDIO_EVENT
          ベンダ定義のイベントの最小値(=64)。
static int NORM_PRIORITY
           優先順位の属性値で、通常の優先順位を表します (=5)。
static int PRIORITY
           メディアデータの再生の優先順位を示す属性です(=1)。
static int SYNC_MODE [iアプリオプションAPI]
           メディアデータの再生と同期してイベントを発生させるかどうかを示す 属性です(=2)。
 
コンストラクタの概要
protected AudioPresenter()
          アプリケーションが直接このクラスのインスタンスを生成することはできません。
 
メソッドの概要
static AudioPresenter getAudioPresenter()
          オーディオ再生オブジェクトを取得します。
 int getCurrentTime()
          曲頭からの演奏時間をms単位で返します。
 MediaResource getMediaResource()
          現在セットされているメディアリソースを取得します。
 void pause() [iアプリオプションAPI]
           メディアデータの再生を一時停止します。
 void play()
          メディアデータの再生を開始します。
 void play(int time) [iアプリオプションAPI]
           メディアデータの特定の位置からの再生を開始します。
 void restart() [iアプリオプションAPI]
           メディアデータの再生を再開します。
 void setAttribute(int attr, int value)
          再生方法に関する属性値を設定します。
 void setData(MediaData data)
          メディアデータをセットします。
 void setMediaListener(MediaListener listener)
          リスナを登録します。
 void setSound(MediaSound sound)
          メディアサウンドをセットします。
 void setSyncEvent(int channel, int key) [iアプリオプションAPI]
          チャンネルとキーに対応するノートメッセージを同期イベントとして設定します。
 void stop()
          メディアデータの再生を停止します。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

PRIORITY

public static final int PRIORITY
メディアデータの再生の優先順位を示す属性です(=1)。 優先順位は、端末が持つ音源チップの能力を越えてサウンドを同時に 再生しようとした場合に、どのサウンドを優先して再生するかのヒントを 与えるものです。 優先順位が同じサウンドが複数あった場合にどれが優先されるかは機種依存です。

端末によってはサポートされない場合があります。AudioPresenter.setAttribute(int attr, int value)の引数に指定された場合、未サポート端末では、その設定は無視されます。

導入されたバージョン:
DoJa-2.0

MIN_PRIORITY

public static final int MIN_PRIORITY
優先順位の属性値で、最も低い優先順位を表します (=1)。
導入されたバージョン:
DoJa-2.0

NORM_PRIORITY

public static final int NORM_PRIORITY
優先順位の属性値で、通常の優先順位を表します (=5)。
導入されたバージョン:
DoJa-2.0

MAX_PRIORITY

public static final int MAX_PRIORITY
優先順位の属性値で、最も高い優先順位を表します (=10)。
導入されたバージョン:
DoJa-2.0

SYNC_MODE

public static final int SYNC_MODE [iアプリオプションAPI]
メディアデータの再生と同期してイベントを発生させるかどうかを示す 属性です(=2)。 メディアデータに同期イベントが埋め込まれている場合、再生時に 同期イベントのタイミングに合わせてリスナに通知します。 play() の前に設定しておかなければなりません。 デフォルトでは同期イベントは発生しません。

端末によってはサポートされない場合があります。AudioPresenter.setAttribute(int attr, int value)の引数に指定された場合、未サポート端末では、その設定は無視されます。

導入されたバージョン:
DoJa-2.0

ATTR_SYNC_OFF

public static final int ATTR_SYNC_OFF [iアプリオプションAPI]
同期イベントの属性値で、同期イベントを発生させないことを表します(=0)。
導入されたバージョン:
DoJa-2.0

ATTR_SYNC_ON

public static final int ATTR_SYNC_ON [iアプリオプションAPI]
同期イベントの属性値で、同期イベントを発生させることを表します(=1)。
導入されたバージョン:
DoJa-2.0

MIN_VENDOR_ATTR

protected static final int MIN_VENDOR_ATTR
ベンダ定義属性の種類の最小値(=64)。ベンダ定義の 属性を定義する場合は、NIN_VENDOR_ATTRから、 MAX_VENDOR_ATTR までの値を使用しなければなりません。

MAX_VENDOR_ATTR

protected static final int MAX_VENDOR_ATTR
ベンダ定義属性の種類の最大値(=127)。ベンダ定義の 属性を定義する場合は、NIN_VENDOR_ATTRから、 MAX_VENDOR_ATTR までの値を使用しなければなりません。

AUDIO_PLAYING

public static final int AUDIO_PLAYING
演奏が開始されたことを示すイベントタイプです (=1)。

AUDIO_STOPPED

public static final int AUDIO_STOPPED
演奏が中断されたことを示すイベントタイプです (=2)。

AUDIO_COMPLETE

public static final int AUDIO_COMPLETE
演奏が終了したことを示すイベントタイプです (=3)。

AUDIO_PAUSED

public static final int AUDIO_PAUSED [iアプリオプションAPI]
演奏が一時停止したことを示すイベントタイプです(=5)。

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

導入されたバージョン:
DoJa-2.0

AUDIO_RESTARTED

public static final int AUDIO_RESTARTED [iアプリオプションAPI]
演奏が再開したことを示すイベントタイプです(=6)。

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

導入されたバージョン:
DoJa-2.0

AUDIO_SYNC

public static final int AUDIO_SYNC [iアプリオプションAPI]
曲データの同期イベントを示すイベントタイプです(=4)。
導入されたバージョン:
DoJa-2.0

MIN_VENDOR_AUDIO_EVENT

protected static final int MIN_VENDOR_AUDIO_EVENT
ベンダ定義のイベントの最小値(=64)。ベンダ定義の イベントを定義する場合は、MIN_VENDOR_AUDIO_EVENT から、 MAX_VENDOR_AUDIO_EVENT までの値を使用しなければなりません。

MAX_VENDOR_AUDIO_EVENT

protected static final int MAX_VENDOR_AUDIO_EVENT
ベンダ定義のイベントの最大値(=127)。ベンダ定義の イベントを定義する場合は、MIN_VENDOR_AUDIO_EVENT から、 MAX_VENDOR_AUDIO_EVENT までの値を使用しなければなりません。

MIN_OPTION_ATTR

public static final int MIN_OPTION_ATTR
オプションのオーディオ属性の最小値 (=128)。
導入されたバージョン:
DoJa-2.0

MAX_OPTION_ATTR

public static final int MAX_OPTION_ATTR
オプションのオーディオ属性の最大値 (=255)。
導入されたバージョン:
DoJa-2.0
コンストラクタの詳細

AudioPresenter

protected AudioPresenter()
アプリケーションが直接このクラスのインスタンスを生成することはできません。
メソッドの詳細

getAudioPresenter

public static AudioPresenter getAudioPresenter()
オーディオ再生オブジェクトを取得します。 オブジェクトは、メディアリソースが設定されていない状態になっています。
[DoJa-2.0]
このメソッドではオーディオ再生のためのリソース確保までは行わないため、UIExceptionは発生しません。
戻り値:
オーディオ再生オブジェクトを返します。
例外:
UIException - [DoJa-1.0] オーディオ再生のためのリソースが確保できない場合に発生します(NO_RESOURCES または BUSY_RESOURCE)。

getCurrentTime

public int getCurrentTime()
曲頭からの演奏時間をms単位で返します。
導入されたバージョン:
DoJa-2.0

getMediaResource

public MediaResource getMediaResource()
現在セットされているメディアリソースを取得します。
定義:
インタフェース MediaPresenter 内の getMediaResource
戻り値:
メディアリソースを返します。

play

public void play()
メディアデータの再生を開始します。 データの再生が開始された時にリスナが登録されていた場合、 イベントタイプAUDIO_PLAYINGでリスナが起動されます。 データを最後まで再生したら自動的に停止します。停止したとき、 リスナが登録されていた場合、イベントタイプAUDIO_COMPLETEでリスナが 起動されます。 再生中に play メソッドが呼ばれた場合は、再生を停止して再び先頭から再生を開始します。
[DoJa-2.0]
このメソッドが呼ばれた時にオーディオ再生のためのリソース確保を行います。
定義:
インタフェース MediaPresenter 内の play
例外:
UIException - [DoJa-2.0] メディアデータがセットされていない場合や、メディアデータが再生可能な状態でない場合に発生します(ILLEGAL_STATE)。
UIException - [DoJa-2.0] オーディオ再生のためのリソースが確保できない場合に発生します(NO_RESOURCES または BUSY_RESOURCE)。

setAttribute

public void setAttribute(int attr,
                         int value)
再生方法に関する属性値を設定します。
定義:
インタフェース MediaPresenter 内の setAttribute
パラメータ:
attr - 設定する属性を指定します。
value - 設定する属性の値を指定します。
例外:
IllegalArgumentException - [DoJa-2.0] 引数 attr で指定された有効な属性に対して、引数 value に不正な値が指定された場合に発生します。

setSyncEvent

public void setSyncEvent(int channel,
                         int key) [iアプリオプションAPI]
チャンネルとキーに対応するノートメッセージを同期イベントとして設定します。 このメソッドの呼び出しにより、設定されたノートメッセージに対応する音が鳴るのと同時にイベントタイプAUDIO_SYNCでリスナが起動される様になります。 AUDIO_SYNCイベントの精度は100ms以上とし、100ms以内で次のAUDIO_SYNCイベントが発生した場合、そのAUDIO_SYNCイベントは破棄されます。 端末でサポートする範囲外のチャンネルやキーが指定された場合は何も行わずに無視されます。 プレゼンタに登録できる同期イベントは1つだけです。 このメソッドを複数回呼出した場合、最後に設定した同期イベントだけが有効です。
パラメータ:
channel - 同期イベントに利用するチャンネルを指定します。
key - 同期イベントに利用するキーを指定します。端末がサポートするMFiの有効キー範囲は21〜119(MFiのデータとしては−24〜74)、MIDIの有効キー範囲は0〜127です。
導入されたバージョン:
DoJa-2.0

setData

public void setData(MediaData data)
メディアデータをセットします。
端末によってはサポートされない場合があります。
定義:
インタフェース MediaPresenter 内の setData
パラメータ:
data - メディアデータを指定します。
例外:
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
UIException - 再生中にこのメソッドを呼び出そうとした場合に発生します(ILLEGAL_STATE)。
NullPointerException - 引数 data に null が指定された場合に発生します。
UIException - 引数 data に端末で再生できないようなメディアデータが指定された場合に発生します(UNSUPPORTED_FORMAT)。

setMediaListener

public void setMediaListener(MediaListener listener)
リスナを登録します。 プレゼンタに登録できるリスナは1つだけです。 このメソッドを複数回呼出した場合、最後に登録したリスナだけが有効です。 リスナオブジェクトとして null を指定すると、リスナの登録を削除します。
定義:
インタフェース MediaPresenter 内の setMediaListener
パラメータ:
listener - 登録するリスナを指定します。

setSound

public void setSound(MediaSound sound)
メディアサウンドをセットします。
パラメータ:
sound - メディアサウンドを指定します。
例外:
UIException - 再生中にこのメソッドを呼び出そうとした場合や、セットされたサウンドがuseされていない場合に発生します(ILLEGAL_STATE)。
NullPointerException - 引数 sound に null が指定された場合に発生します。
UIException - 引数 sound に端末で再生できないようなメディアサウンドが指定された場合に発生します(UNSUPPORTED_FORMAT)。

stop

public void stop()
メディアデータの再生を停止します。 データの再生が停止された時にリスナが登録されていた場合、 イベントタイプAUDIO_STOPPEDでリスナが起動されます。

停止しているときにstopメソッドが呼ばれた場合、なにもしません。

定義:
インタフェース MediaPresenter 内の stop
例外:
UIException - [DoJa-2.0] メディアデータがセットされていない場合や、メディアデータが再生可能な状態でない場合に発生します(ILLEGAL_STATE)。

play

public void play(int time) [iアプリオプションAPI]
メディアデータの特定の位置からの再生を開始します。 データの再生が開始された時にリスナが登録されていた場合、 イベントタイプAUDIO_PLAYINGでリスナが起動されます。 データを最後まで再生したら自動的に停止します。 停止したとき、リスナが登録されていた場合、イベントタイプ AUDIO_COMPLETEでリスナが 起動されます。 再生中に play メソッドが呼ばれた場合は、 再生を停止して再び特定の位置から再生を開始します。

端末によって、あるいはメディアデータの種類によって再生開始位置の指定が サポートされない場合があります。この場合、引数による指定は無視され先頭から再生されます。

パラメータ:
time - 再生を開始する位置をメディアデータの先頭からのミリ秒で指定します。
例外:
UIException - メディアデータがセットされていない場合や、メディアデータが再生可能な状態でない場合に発生します(ILLEGAL_STATE)。
UIException - オーディオ再生のためのリソースが確保できない場合に発生します(NO_RESOURCES または BUSY_RESOURCE)。
導入されたバージョン:
DoJa-2.0

pause

public void pause() [iアプリオプションAPI]
メディアデータの再生を一時停止します。 データの再生が一時停止された時にリスナが登録されていた場合、 イベントタイプ AUDIO_PAUSED でリスナが起動されます。 再生を再開するには restart() メソッドを使用します。

停止しているときにpauseメソッドが呼ばれた場合、なにもしません。
端末によって、あるいはメディアデータの種類によって一時停止・再開が サポートされない場合があります。

例外:
UIException - メディアデータがセットされていない場合や、メディアデータが再生可能な状態でない場合に発生します(ILLEGAL_STATE)。
導入されたバージョン:
DoJa-2.0

restart

public void restart() [iアプリオプションAPI]
メディアデータの再生を再開します。 データの再生が再開された時にリスナが登録されていた場合、 イベントタイプ AUDIO_RESTARTED でリスナが起動されます。 再生が pause() メソッドによって一時停止されている時以外は なにもしません。
停止しているときにrestartメソッドが呼ばれた場合、なにもしません。

端末によって、あるいはメディアデータの種類によって一時停止・再開が サポートされない場合があります。

例外:
UIException - メディアデータがセットされていない場合や、メディアデータが再生可能な状態でない場合に発生します(ILLEGAL_STATE)。
UIException - オーディオ再生のためのリソースが確保できない場合に発生します(NO_RESOURCES または BUSY_RESOURCE)。
導入されたバージョン:
DoJa-2.0