com.nttdocomo.ui
クラス AudioPresenter

Object
  拡張com.nttdocomo.ui.AudioPresenter
すべての実装インタフェース:
MediaPresenter
直系の既知のサブクラス:
AudioTrackPresenter

public class AudioPresenter
extends Object
implements MediaPresenter

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

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

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

setData(MediaData) メソッドと setSound(MediaSound) メソッドは、 1つのプレゼンタオブジェクトに対して排他的に使用します。 setData メソッドでメディアデータを設定してから setSound メソッドでサウンドデータを設定したり、 その逆をしたりすることはできません。 同じメソッドを複数回呼出した場合は、最後に設定したデータが有効になります。
[DoJa-3.0 (505i) 以降]
DoJa-3.0 (505i) 以降では上記の排他使用の制限はありません。 いずれかのメソッドにより最後に設定されたデータが有効になります。


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

[DoJa-3.0 (505i) 以降]
AudioPresenterの状態管理においては、 一時停止中も再生中と同じ状態であると判断されます。 例えば、同時再生数の管理においては、 一時停止中のAudioPresenterも再生中として扱われます。 また、例えば再生中にサスペンドが発生したり、 stop メソッドが呼ばれた場合には停止しますが、 一時停止中でも同じです。

[DoJa-3.0 (505i) 以降]
ポート指定の概念が導入されています。 ポート指定が行われているAudioPresenterと、 ポート指定が行われていないAudioPresenterは同時には再生されず、 優先順位に関係なく後から再生を指示されたほうが優先されます。 例えば、 ポート指定が行われているAudioPresenterを再生中に ポート指定が行われていないAudioPresenterの再生を指示すると、 再生に成功しなくとも、 再生中のAudioPresenterは優先順位に関係なく停止します。
PhoneSystem.playSound(int) が呼び出された場合、 ポート指定がなく MAX_PRIORITY が指定された AudioPresenterの再生が指示されたように振舞います。

[DoJa-3.5 (900i) 以降]
SMF の再生と MFi の再生の両方をサポートしている場合であっても、 SMF と MFi の同時再生が可能かどうかは機種依存です。 同時再生が不可能な場合は、後から再生しようとしたものについて play() メソッドが呼ばれた時に 「実装がサポートしている以上のリソースを使用する」 という理由により UIException(BUSY_RESOURCE) が発生します。

ミニマムスペック:

関連項目:
MediaSound, MediaData, MediaListener

フィールドの概要
static int ATTR_SYNC_OFF
           同期イベントの属性値で、同期イベントを発生させないことを表します(=0)。
static int ATTR_SYNC_ON
           同期イベントの属性値で、同期イベントを発生させることを表します(=1)。
static int AUDIO_COMPLETE
          演奏が終了したことを示すイベントタイプです (=3)。
static int AUDIO_LOOPED [iアプリオプションAPI]
           演奏がループしたことを示すイベントタイプです(=7)。
static int AUDIO_PAUSED
           演奏が一時停止したことを示すイベントタイプです(=5)。
static int AUDIO_PLAYING
          演奏が開始されたことを示すイベントタイプです (=1)。
static int AUDIO_RESTARTED
           演奏が再開したことを示すイベントタイプです(=6)。
static int AUDIO_STOPPED
          演奏が中断されたことを示すイベントタイプです (=2)。
static int AUDIO_SYNC
           曲データの同期イベントを示すイベントタイプです(=4)。
static int CHANGE_TEMPO
           メディア再生時のテンポを示す属性です (=5)。
static int LOOP_COUNT [iアプリオプションAPI]
           メディア全体のループ再生回数を示す属性です (=6)。
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 SET_VOLUME
           ボリュームを示す属性です(=4)。
static int SYNC_MODE
           メディアデータの再生と同期してイベントを発生させるかどうかを示す 属性です(=2)。
static int TRANSPOSE_KEY
           メディア再生時の音程の変化を示す属性です(=3)。
 
コンストラクタの概要
protected AudioPresenter()
          アプリケーションが直接このクラスのインスタンスを生成することはできません。
 
メソッドの概要
 Audio3D getAudio3D()
           プレゼンタに関連付けて 3D サウンドの制御を行うオブジェクトを取得します。
static AudioPresenter getAudioPresenter()
          オーディオ再生オブジェクトを取得します。
static AudioPresenter getAudioPresenter(int port)
           再生するポート番号を指定してオーディオ再生オブジェクトを取得します。
static AudioTrackPresenter getAudioTrackPresenter() [iアプリオプションAPI]
           動画のオーディオトラック再生オブジェクトを取得します。
 int getCurrentTime()
           曲頭からの演奏時間をms単位で返します。
 MediaResource getMediaResource()
          現在セットされているメディアリソースを取得します。
 int getTotalTime() [iアプリオプションAPI]
           曲全体の演奏時間をms単位で返します。
 void pause()
           メディアデータの再生を一時停止します。
 void play()
          メディアデータの再生を開始します。
 void play(int time)
           メディアデータの特定の位置からの再生を開始します。
 void