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) 以降]
FOMA 端末で 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 restart()
           メディアデータの再生を再開します。
 void setAttribute(int attr, int value)
          再生方法に関する属性値を設定します。
 void setData(MediaData data) [iアプリオプションAPI]
          メディアデータをセットします。
 void setMediaListener(MediaListener listener)
          リスナを登録します。
 void setSound(MediaSound sound)
          メディアサウンドをセットします。
 void setSyncEvent(int channel, int key)
          チャンネルとキーに対応するノートメッセージを同期イベントとして設定します。
 void stop()
          メディアデータの再生を停止します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

PRIORITY

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

[DoJa-2.x のみ]
優先順位が同じサウンドが複数あった場合にどれが優先されるかは機種依存です。
[DoJa-3.0 (505i) 以降]
優先順位に基づく再生制御についてはクラス説明を参照してください。

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

[DoJa-3.0 (505i) 以降]
再生中に設定した場合、設定は無視されます。 次回以降の再生にも反映されません。

導入されたバージョン:
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
メディアデータの再生と同期してイベントを発生させるかどうかを示す 属性です(=2)。 メディアデータに同期イベントが埋め込まれている場合、再生時に 同期イベントのタイミングに合わせてリスナに通知します。 play() の前に設定しておかなければなりません。 デフォルトでは同期イベントは発生しません。

[DoJa-2.x のみ]
端末によってはサポートされない場合があります。 setAttribute(int, int) の引数に指定された場合、未サポート端末では、その設定は無視されます。
[DoJa-3.0 (505i) 以降]
再生中に設定した場合、設定は無視されます。 次回以降の再生にも反映されません。

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

ATTR_SYNC_OFF

public static final int ATTR_SYNC_OFF
同期イベントの属性値で、同期イベントを発生させないことを表します(=0)。

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

ATTR_SYNC_ON

public static final int ATTR_SYNC_ON
同期イベントの属性値で、同期イベントを発生させることを表します(=1)。

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

TRANSPOSE_KEY

public static final int TRANSPOSE_KEY
メディア再生時の音程の変化を示す属性です(=3)。 属性値に0を設定した場合はメディアデータに含まれる音程のまま再生します。 属性値に0以外を設定した場合は、 その値の分だけ半音階単位で音程を上下させて再生します。 正の値を指定すると音程が上がり、負の値を指定すると音程が下がります。 実際に扱える音程の範囲は機種依存です。 実装がサポートしている範囲を超えた値が指定された場合は、 実装がサポートしている最大値または最小値に補正されて設定されます。
パーカッションには適用されません。

再生開始後に設定した場合はその時点から音程が変化します。

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

SET_VOLUME

public static final int SET_VOLUME

ボリュームを示す属性です(=4)。 属性値にはメディアデータのボリュームに対する相対値(%)(0〜100)を指定します。 指定しなかった場合に再生される音量に対して、 実際に再生される音量のパーセンテージを指定します。 指定しない場合は100(%)です。
setAttribute(int, int) メソッドにおいて 0〜100以外の値を設定しようとした場合、 IllegalArgumentExceptionが発生します。

このボリュームの設定は、設定したプレゼンタの全ての MIDI チャネル、 ならびに、全てのオーディオチャネルに影響を及ぼします。

再生開始後に設定した場合はその時点からボリュームが変化します。

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

CHANGE_TEMPO

public static final int CHANGE_TEMPO
メディア再生時のテンポを示す属性です (=5)。 属性値にはメディアデータのテンポに対する相対値(%)を指定します。 0以下の値は不正とみなされます。 指定しなかった場合に再生されるテンポに対して、 実際に再生されるテンポのパーセンテージを指定します。 指定しない場合は100(%)です。 例えば、50を指定すると半分のテンポ(再生時間は2倍)で再生され、 200を指定すると倍のテンポ(再生時間は半分)で再生されます。

ミニマムスペックでは25から400の値が指定できますが、 変化後のテンポが再生可能なテンポの範囲を超えた場合、 その上限または下限のテンポで再生されます。

再生開始後に設定した場合はその時点からテンポが変化します。

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

LOOP_COUNT

public static final int LOOP_COUNT [iアプリオプションAPI]

メディア全体のループ再生回数を示す属性です (=6)。 サウンドデータにループ指定が含まれる場合はそれらのループも行ったうえで、 曲の末尾に達したら再度先頭から再生することを指定します。 すなわち、サウンドデータのループ指定で無限ループしている場合は曲の末尾に到達しないため、 この属性によるループ指定は考慮されないことになります。

属性値にはループ回数を指定します。 ループを行わず、通常通りに再生する場合はループ回数として 0 を指定します。 ループ回数として 1 を指定した場合は、一度メディアの末尾まで再生した後、 もう一度先頭からメディアの再生を行います。 すなわち、ループ回数として 1 を指定した場合は 2 回再生することになります。 同様に、ループ回数として n を指定した場合は n 回末尾から先頭に戻って再生するため、 トータルで n + 1 回再生することになります。 また、ループ回数として -1 を指定した場合は無限にループして再生します。

setAttribute(int, int) メソッドにおいて -2 以下を設定しようとした場合、IllegalArgumentExceptionが発生します。

ループ回数として指定可能な数は、少なくとも 255 以上であることが保証されています。 端末がサポートしているループ回数以上の値が指定された場合は、 端末がサポートしているループ回数に切り捨てられます。

再生中に設定した場合、設定した値は無視されます。 すなわち、設定時の再生でも次回以降の再生でもループ回数の指定は反映されません。

なお、セットアップ小節を含む SMF の場合は、 曲の末尾から先頭に戻って再生する際にはセットアップ小節を飛ばして再生します。 すなわち、セットアップ小節は無視され、セットアップ小節に含まれるイベントも再生されません。

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

MIN_VENDOR_ATTR

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

関連項目:
定数フィールド値

MAX_VENDOR_ATTR

protected static final int MAX_VENDOR_ATTR
ベンダ定義属性の種類の最大値(=127)。ベンダ定義の 属性を定義する場合は、MIN_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)。

[DoJa-5.0 (903i) 以降]
LOOP_COUNT 属性のループ指定によって曲の末尾から曲の先頭に戻る際には発生しません。

関連項目:
定数フィールド値

AUDIO_SYNC

public static final int AUDIO_SYNC
曲データの同期イベントを示すイベントタイプです(=4)。

[DoJa-2.x のみ]
端末によってはサポートされない場合があります。

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

AUDIO_PAUSED

public static final int AUDIO_PAUSED
演奏が一時停止したことを示すイベントタイプです(=5)。

[DoJa-2.x のみ]
端末によってはサポートされない場合があります。

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

AUDIO_RESTARTED

public static final int AUDIO_RESTARTED
演奏が再開したことを示すイベントタイプです(=6)。

[DoJa-2.x のみ]
端末によってはサポートされない場合があります。

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

AUDIO_LOOPED

public static final int AUDIO_LOOPED [iアプリオプションAPI]

演奏がループしたことを示すイベントタイプです(=7)。 LOOP_COUNT 属性のループ指定によって曲の末尾から曲の先頭に戻る際に発生します。 サウンドデータに含まれるループ指定によってループする際には発生しません。

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

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)。

getAudioPresenter

public static AudioPresenter getAudioPresenter(int port)
再生するポート番号を指定してオーディオ再生オブジェクトを取得します。 オブジェクトは、メディアリソースが設定されていない状態になっています。

パラメータ:
port - ポート番号を指定します。 0〜(同時再生可能数-1)のポート番号が指定できます。
戻り値:
オーディオ再生オブジェクトを返します。
例外:
IllegalArgumentException - 引数 port に負数や、同時再生可能数以上の値を指定した場合に発生します。
導入されたバージョン:
DoJa-3.0 (505i)

getAudioTrackPresenter

public static AudioTrackPresenter getAudioTrackPresenter() [iアプリオプションAPI]

動画のオーディオトラック再生オブジェクトを取得します。 このメソッドによって得られたオブジェクトには、 オーディオトラックのみで構成された動画のみを設定することができます。

動画のオーディオトラック同士は、並列再生の対象外です。 そのため、このメソッドを複数回呼び出した場合、 常に同じオブジェクトへの参照が返されます。

動画のオーディオトラックのみの再生をサポートしていない実装も存在します。 その場合は、このメソッドを呼び出すと UnsupportedOperationException が発生します。

戻り値:
動画のオーディオトラック再生オブジェクトを返します。
例外:
UnsupportedOperationException - 動画のオーディオトラックのみの再生をサポートしていない場合に発生します。
導入されたバージョン:
DoJa-5.0 (903i)

getCurrentTime

public int getCurrentTime()

曲頭からの演奏時間をms単位で返します。

[DoJa-3.0 (505i) 以降]
メソッドが呼ばれた時点で再生しているポイントの メディアサウンドの曲頭からの時間を返します。 すなわち、メディアサウンドを本来のテンポで一時停止や停止せずに再生した場合に 曲の先頭からそのポイントに到達するまでにかかる経過時間を返します。

[DoJa-5.0 (903i) 以降]
メディアデータがセットアップ小節を含む場合、 セットアップ小節の再生にかかる時間はこのメソッドで返される経過時間には含まれません。

戻り値:
曲頭からの演奏時間を返します。
例外:
UIException - [DoJa-3.0 (505i) 以降] メディアデータがセットされていない場合に発生します (ILLEGAL_STATE)。
UIException - [DoJa-3.0 (505i) 以降] メディアデータがuse()されていない場合に発生します (ILLEGAL_STATE)。
導入されたバージョン:
DoJa-2.0
関連項目:
getTotalTime()

getTotalTime

public int getTotalTime() [iアプリオプションAPI]

曲全体の演奏時間をms単位で返します。

メディアサウンドを本来のテンポで一時停止や停止せずに再生した場合に 曲の先頭から曲の末尾に到達するまでにかかる経過時間を返します。 なお、経過時間には LOOP_COUNT の指定は含まれません。 また、メディアデータがセットアップ小節を含む場合、 セットアップ小節の再生にかかる時間はこのメソッドで返される経過時間には含まれません。

戻り値:
曲全体の演奏時間を返します。 曲が無限ループする場合は-1を返します。
例外:
UIException - メディアデータがセットされていない場合に発生します(ILLEGAL_STATE)。
UIException - メディアデータがuse()されていない場合に発生します(ILLEGAL_STATE)。
導入されたバージョン:
DoJa-5.0 (903i)
関連項目:
getCurrentTime()

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 以降] メディアデータがuse()されていない場合に発生します(ILLEGAL_STATE)。
UIException - [DoJa-2.0 以降] 実装がサポートしている以上のリソースを使用する場合に発生します(BUSY_RESOURCE)
UIException - [DoJa-2.0 以降] オーディオ再生のためのリソースが確保できない場合に発生します(NO_RESOURCES)
UIException - ネイティブ側で再生開始に失敗した場合に発生します(ILLEGAL_STATE)。
UIException - [DoJa-2.1 以降] 音声・テレビ電話通話中に呼び出された場合に発生します (BUSY_RESOURCE)。
UIException - [DoJa-5.0 (903i) 以降] 音楽プレイヤーを優先モードで実行中に呼び出された場合に発生します (BUSY_RESOURCE)。
UIException - [DoJa-4.1 (902iS) 以降] PTT 呼通信中の場合に発生します(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)
チャンネルとキーに対応するノートメッセージを同期イベントとして設定します。 このメソッドを呼び出し、setAttribute(int, int)メソッドで SYNC_MODE を ATTR_SYNC_ON に設定することにより、 設定されたノートメッセージに対応する音が鳴るのと同時にイベントタイプAUDIO_SYNCでリスナが起動される様になります。 AUDIO_SYNCイベントの精度は100ms以下とし、その精度以内で次のAUDIO_SYNCイベントが発生した場合、 そのAUDIO_SYNCイベントは破棄されます。 端末でサポートする範囲外のチャンネルやキーが指定された場合は何も行わずに無視されます。 プレゼンタに登録できる同期イベントは1つだけです。 このメソッドを複数回呼出した場合、最後に設定した同期イベントだけが有効です。

[DoJa-2.x のみ]
端末によってはサポートされない場合があります。 サポートされない場合、本メソッドの呼び出しは無視されます。

[DoJa-3.0 (505i) 以降]
再生中にこのメソッドを呼び出した場合、設定は無視されます。 次回以降の再生にも反映されません。 引数の値のチェックは行われません。 有効な値が指定されない場合、同期イベントは発生しません。
TRANSPOSE_KEYによる音程変更の影響を受けません。

パラメータ:
channel - 同期イベントに利用するチャンネルを指定します。 0(1ch)〜15(16ch)の値が有効です。
key - 同期イベントに利用するキーを指定します。端末がサポートするMFiの有効キー範囲は21〜119(MFiのデータとしては−24〜74)、MIDIの有効キー範囲は0〜127です。
導入されたバージョン:
DoJa-2.0

setData

public void setData(MediaData data) [iアプリオプションAPI]
メディアデータをセットします。
端末によってはサポートされない場合があります。

定義:
インタフェース MediaPresenter 内の setData
パラメータ:
data - メディアデータを指定します。
例外:
UnsupportedOperationException - 端末がこのメソッドをサポートしていない場合に発生します。
UIException - 再生中にこのメソッドを呼び出そうとした場合に発生します(ILLEGAL_STATE)。
NullPointerException - 引数 data に null が指定された場合に発生します。
UIException - 引数 data にシステムが提供している以外のメディアデータ (MediaData インタフェースを実装した未知のクラスのオブジェクト) が指定された場合に発生します(UNSUPPORTED_FORMAT)。
UIException - [DoJa-3.0 (505i) 以降] セットされたメディアデータがuse()されていない場合に発生します(ILLEGAL_STATE)。

setMediaListener

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

定義:
インタフェース MediaPresenter 内の setMediaListener
パラメータ:
listener - 登録するリスナを指定します。

setSound

public void setSound(MediaSound sound)
メディアサウンドをセットします。

パラメータ:
sound - メディアサウンドを指定します。
例外:
UIException - 再生中にこのメソッドを呼び出そうとした場合に発生します(ILLEGAL_STATE)。
NullPointerException - 引数 sound に null が指定された場合に発生します。
UIException - システムが提供している以外のメディアサウンド (MediaSound インタフェースを実装した未知のクラスのオブジェクト) が指定された場合に発生します(UNSUPPORTED_FORMAT)。
UIException - セットされたメディアサウンドがuse()されていない場合に発生します(ILLEGAL_STATE)。
UIException - 引数 sound に端末が再生できないようなメディアサウンドが指定された場合に発生します(UNSUPPORTED_FORMAT)。

stop

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

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

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

play

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

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

[DoJa-3.0 (505i) 以降]
本来のテンポで一時停止や停止せずに曲頭から再生した場合に 指定した経過時間がかかるポイントから再生を開始します。
メディアデータの本来のテンポでの再生時間の長さ以上の値を 引数 time に指定した時にリスナが登録されていた場合、 イベントタイプAUDIO_PLAYINGでリスナが起動された後、 イベントタイプAUDIO_COMPLETEでリスナが起動されます。 なお、再生時間の長さとは、LOOP_COUNT を 0 とした場合の 1 曲の先頭から末尾までの時間です。

パラメータ:
time - 再生を開始する位置をメディアデータの先頭からのミリ秒で指定します。
例外:
UIException - メディアデータがセットされていない場合に発生します(ILLEGAL_STATE)。
IllegalArgumentException - [DoJa-3.0 (505i) 以降] 引数 time に 0 未満の値が指定された場合に発生します。
UIException - メディアデータがuse()されていない場合に発生します(ILLEGAL_STATE)。
UIException - 実装がサポートしている以上のリソースを使用する場合に発生します(BUSY_RESOURCE)。
UIException - オーディオ再生のためのリソースが確保できない場合に発生します(NO_RESOURCES)。
UIException - ネイティブ側で再生開始に失敗した場合に発生します(ILLEGAL_STATE)。
UIException - [DoJa-2.1 以降] 音声・テレビ電話通話中に呼び出された場合に発生します (BUSY_RESOURCE)。
UIException - [DoJa-5.0 (903i) 以降] 音楽プレイヤーを優先モードで実行中に呼び出された場合に発生します (BUSY_RESOURCE)。
UIException - [DoJa-4.1 (902iS) 以降] PTT 呼通信中の場合に発生します(BUSY_RESOURCE)。
導入されたバージョン:
DoJa-2.0

pause

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

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

[DoJa-2.x のみ]
端末によって、あるいはメディアデータの種類によって一時停止・再開が サポートされない場合があります。 サポートされない場合、本メソッドの呼び出しは無視されます。

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

restart

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

[DoJa-2.x のみ]
端末によって、あるいはメディアデータの種類によって一時停止・再開が サポートされない場合があります。 サポートされない場合、本メソッドの呼び出しは無視されます。

例外:
UIException - メディアデータがセットされていない場合に発生します(ILLEGAL_STATE)。
UIException - メディアデータがuse()されていない場合に発生します(ILLEGAL_STATE)。
UIException - 実装がサポートしている以上のリソースを使用する場合に発生します(BUSY_RESOURCE)。
UIException - オーディオ再生のためのリソースが確保できない場合に発生します(NO_RESOURCES)。
UIException - ネイティブ側で再生再開に失敗した場合に発生します(ILLEGAL_STATE)。
導入されたバージョン:
DoJa-2.0

getAudio3D

public Audio3D getAudio3D()

プレゼンタに関連付けて 3D サウンドの制御を行うオブジェクトを取得します。 このメソッドでは、プレゼンタで再生する MIDI と PCM の全てのチャンネルを対象に 3D サウンドの制御を行うためのコントローラオブジェクトを取得します。

このメソッドが初めて呼ばれた場合はオブジェクトを生成して返します。 以後、常に同じオブジェクトへの参照を返します。

戻り値:
3D サウンドの制御を行うオブジェクトを返します。
導入されたバージョン:
DoJa-4.0 (901i)