com.kddi.media
クラス MediaPlayer <Phase1>

java.lang.Object
  |
  +--com.kddi.media.MediaPlayer
すべての実装インタフェース:
MediaPlayerInterface
直系の既知のサブクラス:
QcelpPlayer, SMAFPlayer

public abstract class MediaPlayer
extends java.lang.Object
implements MediaPlayerInterface

メディアプレイヤーの基底となる抽象クラスです。

MediaPlayerクラスでは、「メディアプレイヤー」を定義します。メディアプレイヤーは、SMAF、13KQcelpなどのメディアリソースを再生するコンポーネントです。以後、メディアリソースを総称してメディアと呼びます。メディアを再生するときの手順の概略は次のようになります。

  1. メディアを保持するMediaResourceオブジェクトを生成します。MediaResourceオブジェクトを生成するときに、メディアデータを与えるには、ファイルをurlで指定します。

  2. MediaPlayerBoxオブジェクト(メディアプレイヤー)を生成します。

  3. メディアプレイヤーにMediaResourceオブジェクトを設定します。設定の仕方は、メディアプレイヤーの生成時にコンストラクタで設定するか、またはメディアプレイヤーのメソッドで設定します。

  4. メディアプレイヤーに音量、再生速度、再生ピッチなどの属性を設定します。

  5. MIDPで規定されているDisplayクラスの、スタティックメソッドgetDisplay()を用いて、MIDletに割り当てられているDisplayオブジェクトを取得します。 DisplayオブジェクトのsetCurrent()メソッドでMediaPlayerBoxオブジェクトを指定すると、MediaPlayerBoxの再生メソッドによる画面表示が可能となります。

  6. ここまでで再生の準備が整いました。Javaアプリケーションはメディアプレイヤーのメソッドを使用して、再生、一時停止、再開、停止が可能です。メディアプレイヤーの再生に関するイベントを待ち受けることができます。イベントを待ち受けるためには、イベントリスナーをメディアプレイヤーに設定しておきます。再生に関するイベントは、再生の開始(PLAY)、一時停止された(PAUSE)、再開された(RESUME)、停止した(STOP)、メディアリソースが破棄された(RESOURCE_DISPOSED)などがあります。

Javaアプリケーションは、メディアデータの内部フォーマットに関する知識をもつ必要はありません。

このクラスでは、メディアプレイヤーのデフォルトの振る舞い(何もしない)を定義しています。 各メディアタイプごとに必要な動作は、サブクラスで実装してください。

サブクラス化にあたっては、以下の作業が必要になります。


内部クラスの概要
protected  class MediaPlayer.EventWatcher
          移動機システムからのイベントを監視するクラスです。
protected  class MediaPlayer.MediaPlayerEvent
          メディアプレイヤーのイベントをカプセル化したクラスです。
 
フィールドの概要
protected  MediaPlayerBox _box
          関連付けられている MediaPlayerBox オブジェクト。
protected  int _id
          メディアプレイヤーの識別子。
protected  MediaEventListener _listener
          メディアイベントリスナー。
protected  int _pitch
          再生ピッチ。
protected  MediaResource _resource
          関連付けられているメディアリソース。
protected  int _tempo
          再生速度。
protected  int _volume
          再生音量。
protected static int INVALID_PLAYER
          無効なプレイヤーインスタンスを示す定数。
 
コンストラクタの概要
protected MediaPlayer(MediaResource resource, MediaPlayerBox box)
          コンストラクタ。
 
メソッドの概要
 void addMediaEventListener(MediaEventListener l)
          メディアの状態変化を通知する listener を登録します。
static boolean canPlay(java.lang.String dataType)
          メディアタイプを再生可能かどうか調べます。
protected abstract  void dispose()
          メディアプレイヤーの破棄。
protected abstract  boolean disposePlayer()
          メディアプレイヤーの破棄。
 int getAttribute(int attr)
          メディアの属性の値を返します。
 int getPitch()
          現在の再生ピッチ(キー)を返します。
 MediaResource getResource()
          対応付けられているメディアリソースを返します。
 int getTempo()
          現在の再生速度を返します。
 int getVolume()
          現在の再生音量を返します。
 void hide()
          メディアプレイヤーを非表示にします。
protected  void notifyEvent(MediaPlayer player, int type, int option)
          メディアイベントの通知。
protected  void paint(javax.microedition.lcdui.Graphics g)
          メディアプレイヤーの描画。
 void pause()
          メディアを一時停止します。
 void play()
          メディアを再生します。
 void play(int count)
          メディアを再生します。
 void removeMediaEventListener(MediaEventListener l)
          メディアの状態変化を通知するlistenerを削除します。
 void resume()
          メディアの一時停止を解除します。
 void setAttribute(int attr, int value)
          メディアの属性を設定します。
 void setPitch(int pitch)
          再生ピッチ(キー)を設定します。
 void setResource(MediaResource resource)
          メディアリソースを対応付ける。
 void setTempo(int tempo)
          再生速度を設定します。
 void setVolume(int volume)
          再生音量を設定します。
 void show()
          メディアプレイヤーを表示します。
 void stop()
          メディアを停止します。
 void unsetResource(MediaResource resource)
          メディアリソースの対応付けをはずします。
protected  void validateId()
          プレイヤー ID の検証。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

INVALID_PLAYER

protected static final int INVALID_PLAYER
無効なプレイヤーインスタンスを示す定数。

_id

protected int _id
メディアプレイヤーの識別子。

_resource

protected MediaResource _resource
関連付けられているメディアリソース。

_listener

protected MediaEventListener _listener
メディアイベントリスナー。

_volume

protected int _volume
再生音量。

_tempo

protected int _tempo
再生速度。

_pitch

protected int _pitch
再生ピッチ。

_box

protected MediaPlayerBox _box
関連付けられている MediaPlayerBox オブジェクト。
コンストラクタの詳細

MediaPlayer

protected MediaPlayer(MediaResource resource,
                      MediaPlayerBox box)
コンストラクタ。
パラメータ:
resource - 対応付けるメディアリソース。
box - このインスタンスを生成する MediaPlayerBox オブジェクト。
例外:
IllegalStateException - すでに破棄されたメディアリソースが指定されたときに送出。
メソッドの詳細

setResource

public void setResource(MediaResource resource)
メディアリソースを対応付ける。
定義:
インタフェース MediaPlayerInterface 内の setResource
パラメータ:
resource - 対応付けるメディアリソース。
例外:
IllegalStateException - すでにメディアリソースが対応付けられている状態で呼び出されたときに送出。

unsetResource

public void unsetResource(MediaResource resource)
メディアリソースの対応付けをはずします。
定義:
インタフェース MediaPlayerInterface 内の unsetResource
パラメータ:
resource - 対応付けをはずすメディアリソース

getResource

public MediaResource getResource()
対応付けられているメディアリソースを返します。
定義:
インタフェース MediaPlayerInterface 内の getResource
戻り値:
対応付けられているメディアリソース

addMediaEventListener

public void addMediaEventListener(MediaEventListener l)
メディアの状態変化を通知する listener を登録します。
定義:
インタフェース MediaPlayerInterface 内の addMediaEventListener
パラメータ:
l - MediaEventListener インタフェースを実装したインスタンス

removeMediaEventListener

public void removeMediaEventListener(MediaEventListener l)
メディアの状態変化を通知するlistenerを削除します。
定義:
インタフェース MediaPlayerInterface 内の removeMediaEventListener
パラメータ:
l - MediaEventListener インタフェースを実装したインスタンス

play

public void play()
メディアを再生します。
定義:
インタフェース MediaPlayerInterface 内の play

play <Phase2>

public void play(int count)
メディアを再生します。
定義:
インタフェース MediaPlayerInterface 内の play
パラメータ:
count - 再生繰返し回数。

stop

public void stop()
メディアを停止します。
定義:
インタフェース MediaPlayerInterface 内の stop

pause

public void pause()
メディアを一時停止します。
定義:
インタフェース MediaPlayerInterface 内の pause

resume

public void resume()
メディアの一時停止を解除します。
定義:
インタフェース MediaPlayerInterface 内の resume

setAttribute

public void setAttribute(int attr,
                         int value)
メディアの属性を設定します。(将来拡張用)
定義:
インタフェース MediaPlayerInterface 内の setAttribute
パラメータ:
attr - 設定する属性
value - 設定する値

getAttribute

public int getAttribute(int attr)
メディアの属性の値を返します。(将来拡張用)
定義:
インタフェース MediaPlayerInterface 内の getAttribute
パラメータ:
attr - 属性
戻り値:
属性の値

setTempo

public void setTempo(int tempo)
インタフェース MediaPlayerInterface の記述:
再生速度を設定します。

メディアの再生速度を、標準速度を 100 としたパーセンテージで設定します。 85 〜 115 程度が実用的な範囲です。 指定した値が 85 以下の場合は 85 に、115 以上の場合は 115 になります。

定義:
インタフェース MediaPlayerInterface 内の setTempo
インタフェース com.kddi.media.MediaPlayerInterface からコピーされたタグ:
パラメータ:
tempo - 再生速度

getTempo

public int getTempo()
インタフェース MediaPlayerInterface の記述:
現在の再生速度を返します。

メディアの再生速度を、標準速度を 100 としたパーセンテージで返します。

定義:
インタフェース MediaPlayerInterface 内の getTempo
インタフェース com.kddi.media.MediaPlayerInterface からコピーされたタグ:
戻り値:
再生速度。標準速度を 100 としたパーセンテージ。

setPitch

public void setPitch(int pitch)
インタフェース MediaPlayerInterface の記述:
再生ピッチ(キー)を設定します。

メディアの再生キーを -6 〜 +6 の範囲で設定します。 0 を標準のキーとして、-1 から -6 に向けて半音階ずつ下がり、+1 から +6 に向けて半音階ずつ上がります。 指定した値が -6 以下の場合は -6 に、6 以上の場合は 6 になります。

定義:
インタフェース MediaPlayerInterface 内の setPitch
インタフェース com.kddi.media.MediaPlayerInterface からコピーされたタグ:
パラメータ:
pitch - 再生ピッチ(キー)

getPitch

public int getPitch()
インタフェース MediaPlayerInterface の記述:
現在の再生ピッチ(キー)を返します。

メディアの再生キーを -6 〜 +6 の範囲で返します。 0 を標準のキーとして、-1 から -6 に向けて半音階ずつ下がり、+1 から +6 に向けて半音階ずつ上がります。

定義:
インタフェース MediaPlayerInterface 内の getPitch
インタフェース com.kddi.media.MediaPlayerInterface からコピーされたタグ:
戻り値:
再生ピッチ(キー)

setVolume

public void setVolume(int volume)
インタフェース MediaPlayerInterface の記述:
再生音量を設定します。

メディアの再生音量を 0 〜 100 の範囲で設定します。 0 が無音を表し、1 から 100 に向かって大きくなります。 指定した値が 0 以下の場合は 0 に、100 以上の場合は 100 になります。

移動機の実装により、段階ごとに丸める場合があります。

定義:
インタフェース MediaPlayerInterface 内の setVolume
インタフェース com.kddi.media.MediaPlayerInterface からコピーされたタグ:
パラメータ:
volume - 再生音量

getVolume

public int getVolume()
インタフェース MediaPlayerInterface の記述:
現在の再生音量を返します。

メディアの再生音量を 0 〜 100 の範囲で返します。 0 が無音を表し、1 から 100 に向かって大きくなります。

定義:
インタフェース MediaPlayerInterface 内の getVolume
インタフェース com.kddi.media.MediaPlayerInterface からコピーされたタグ:
戻り値:
再生音量

show

public void show()
メディアプレイヤーを表示します。
定義:
インタフェース MediaPlayerInterface 内の show

hide

public void hide()
メディアプレイヤーを非表示にします。
定義:
インタフェース MediaPlayerInterface 内の hide

canPlay

public static boolean canPlay(java.lang.String dataType)
メディアタイプを再生可能かどうか調べます。

各サブクラスごとに、再生可能かどうか検査するコードを実装する。

パラメータ:
dataType - メディアのデータタイプ
戻り値:
指定のデータタイプを再生可能なら true、再生不可能なら false。

validateId

protected final void validateId()
プレイヤー ID の検証。
例外:
IllegalStateException - ネイティブプレイヤーがすでに破棄されているときに送出。

notifyEvent

protected final void notifyEvent(MediaPlayer player,
                                 int type,
                                 int option)
メディアイベントの通知。
パラメータ:
player - イベントが発生した MediaPlayer オブジェクト。
type - イベントの種類。
option - イベント種類に固有のオプション引数。

paint

protected void paint(javax.microedition.lcdui.Graphics g)
メディアプレイヤーの描画。
パラメータ:
g - 描画先のグラフィックコンテキスト。

disposePlayer

protected abstract boolean disposePlayer()
メディアプレイヤーの破棄。(プレーヤー本体)
戻り値:
成功:true, 失敗:false

dispose

protected abstract void dispose()
メディアプレイヤーの破棄。


Copyright 2003 Aplix Corporation. All rights reserved. Aplix Confidential and Restricted.