com.jblend.media.karaoke
クラス KaraokePlayer

java.lang.Object
  |
  +--com.jblend.media.MediaPlayer
        |
        +--com.jblend.media.karaoke.KaraokePlayer
すべての実装インタフェース:
MediaImageOperator

public class KaraokePlayer
extends MediaPlayer
implements MediaImageOperator

SMAF形式のカラオケ用メディアを再生するためのクラスです。

SMAF形式のメディアの基本操作はSmafPlayerと同じです。

導入されたバージョン:
JSCL 1.3.2

クラス com.jblend.media.MediaPlayer から継承したフィールド
ERROR, NO_DATA, PAUSED, PLAYING, READY, REAL_HEIGHT, REAL_WIDTH
 
コンストラクタの概要
KaraokePlayer()
          KaraokePlayerコンストラクタ デフォルトのサイズは (0,0) になります。
KaraokePlayer(byte[] data)
          KaraokePlayerコンストラクタ デフォルトのサイズはデータのサイズになります。
KaraokePlayer(KaraokeData data)
          KaraokePlayerコンストラクタ デフォルトのサイズはデータのサイズになります。
 
メソッドの概要
 void addKaraokePlayerListener(KaraokePlayerListener l)
          KaraokePlayerListenerを登録します。
 void addMediaPlayerListener(MediaPlayerListener l)
          MediaPlayerListenerを登録します。
 int getChannelVolume(int ch)
          チャンネルの音量を取得します。
 int getCurrent()
          現在の再生位置を取得します。
 int getHeight()
          プレイヤーの高さを取得します。
 int getHVVolume()
          HVパートの音量を取得します。
 int getMediaHeight()
          メディアの描画高さを取得します
 int getMediaWidth()
          メディアの描画幅を取得します。
 int getOriginX()
          画像切り出し開始点のX座標を取得します。
 int getOriginY()
          画像切り出し開始点のY座標を取得します。
 int getPlayEnd()
          再生区間の最後を取得します。
 int getSpeed()
          再生速度を取得します。
 int getState()
          プレイヤーの状態を取得します。
 int getTranspose()
          現在の音高シフト量を取得します。
 int getVolume()
          現在の再生音量を取得します。
 int getWidth()
          プレイヤーの幅を取得します。
 int getX()
          プレイヤーの表示X座標を取得します。
 int getY()
          プレイヤーの表示Y座標を取得します。
 void pause()
          一時停止します。
 void play()
          再生します。
 void play(boolean isRepeat)
          繰り返し指定つきで再生します。
 void play(int count)
          繰り返し回数を指定して再生します。
 void removeKaraokePlayerListener(KaraokePlayerListener l)
          KaraokePlayerListenerを登録解除します。
 void removeMediaPlayerListener(MediaPlayerListener l)
          MediaPlayerListenerを登録解除します。
 void resume()
          再開します。
 void seek(int time)
          再生位置を移動します。
 void setBounds(int x, int y, int width, int height)
          プレイヤーの表示位置を設定します。
 void setChannelVolume(int ch, int volume)
          チャンネルの音量を設定します。
 void setData(KaraokeData data)
          再生するデータを設定する。
 void setData(MediaData data)
          データを設定します。
 void setHVVolume(int volume)
          HVパートの音量を設定します。
 void setOrigin(int offset_x, int offset_y)
          画像切り出し開始点を設定します。
 void setPlayEnd(int pos)
          再生終了時刻を設定します。
 void setSpeed(int speed)
          再生速度を設定します。
 void setTranspose(int shift)
          再生音高をシフトします。
 void setVolume(int volume)
          再生音量を設定します。
 void stop()
          停止します。
 
クラス com.jblend.media.MediaPlayer から継承したメソッド
addNativeMediaEventDispatcher
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

KaraokePlayer

public KaraokePlayer()
KaraokePlayerコンストラクタ

デフォルトのサイズは (0,0) になります。

例外:
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

KaraokePlayer

public KaraokePlayer(KaraokeData data)
KaraokePlayerコンストラクタ

デフォルトのサイズはデータのサイズになります。

パラメータ:
data - 再生するデータ
例外:
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

KaraokePlayer

public KaraokePlayer(byte[] data)
KaraokePlayerコンストラクタ

デフォルトのサイズはデータのサイズになります。

パラメータ:
data - 再生するデータ
例外:
NullPointerException - dataがnullの場合に発生する
java.lang.IllegalArgumentException - dataがSMAFフォーマットでない場合に発生する
IllegalStateException - プレイヤーが他で使用中などにより利用できない場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する
メソッドの詳細

setData

public void setData(KaraokeData data)
再生するデータを設定する。

表示サイズは変わりません。

パラメータ:
data - 新しいデータ
例外:
NullPointerException - dataがnullの場合に発生する
IllegalStateException - プレイヤーの状態がPLAYINGまたはPAUSEDの場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

setData

public void setData(MediaData data)
データを設定します。
オーバーライド:
クラス MediaPlayer 内の setData
パラメータ:
data - 再生するデータ
例外:
NullPointerException - dataがnullの場合に発生する
java.lang.IllegalArgumentException - データがKaraokeDataでない場合に発生する
IllegalStateException - プレイヤーの状態がPLAYINGまたはPAUSEDの場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

getCurrent

public int getCurrent()
現在の再生位置を取得します。
戻り値:
int - 再生位置
例外:
IllegalStateException - データが未設定の場合に発生する

seek

public void seek(int time)
再生位置を移動します。

テンポ変更のない元データの絶対時刻を指定します。

パラメータ:
time - 設定時刻(単位はミリ秒)
例外:
IllegalStateException - データが再生待機中ではない場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

setTranspose

public void setTranspose(int shift)
再生音高をシフトします。

シフトする単位は半音です。設定できる範囲は-12 〜 +12です。

パラメータ:
shift - シフト量
例外:
java.lang.IllegalArgumentException - 設定可能な範囲を超えている場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

getTranspose

public int getTranspose()
現在の音高シフト量を取得します。
戻り値:
int - 現在のシフト量

getVolume

public int getVolume()
現在の再生音量を取得します。
戻り値:
int - 音量

setVolume

public void setVolume(int volume)
再生音量を設定します。
パラメータ:
volume - 新しい音量(0 〜 127)
例外:
java.lang.IllegalArgumentException - 値が有効な範囲を超えている場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

setPlayEnd

public void setPlayEnd(int pos)
再生終了時刻を設定します。

負の値、または再生時間よりも大きな値が指定された場合は、 終了時刻をメディアデータの最後に設定します。

パラメータ:
pos - 再生終了時刻(単位はミリ秒)
例外:
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

getPlayEnd

public int getPlayEnd()
再生区間の最後を取得します。

-1 を返した場合は、メディアデータの最後が指定されていることを示します。

戻り値:
int - 再生終了位置(単位はミリ秒)
例外:
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

setBounds

public void setBounds(int x,
                      int y,
                      int width,
                      int height)
プレイヤーの表示位置を設定します。

表示位置の初期値は (0, 0) です。 画像つき SMAF の場合、プレイヤーのサイズは画面サイズとなります。 ただし、(0, 0)が指定されている場合には描画されません。

定義:
インタフェース MediaImageOperator 内の setBounds
パラメータ:
x - X座標
y - Y座標
width - 幅(無効)
height - 高さ(無効)
例外:
java.lang.IllegalArgumentException - 幅、高さが負の場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

addKaraokePlayerListener

public void addKaraokePlayerListener(KaraokePlayerListener l)
KaraokePlayerListenerを登録します。
パラメータ:
l - KaraokePlayerListener

removeKaraokePlayerListener

public void removeKaraokePlayerListener(KaraokePlayerListener l)
KaraokePlayerListenerを登録解除します。
パラメータ:
l - KaraokePlayerListener

getX

public int getX()
プレイヤーの表示X座標を取得します。
定義:
インタフェース MediaImageOperator 内の getX
戻り値:
int - 表示X座標

getY

public int getY()
プレイヤーの表示Y座標を取得します。
定義:
インタフェース MediaImageOperator 内の getY
戻り値:
int - 表示Y座標

getWidth

public int getWidth()
プレイヤーの幅を取得します。

データが設定されていない場合、0 が返ります。

定義:
インタフェース MediaImageOperator 内の getWidth
戻り値:
int - プレイヤーの幅

getHeight

public int getHeight()
プレイヤーの高さを取得します。

データが設定されていない場合、0 が返ります。

定義:
インタフェース MediaImageOperator 内の getHeight
戻り値:
int - プレイヤーの高さ

getOriginX

public int getOriginX()
画像切り出し開始点のX座標を取得します。
定義:
インタフェース MediaImageOperator 内の getOriginX
戻り値:
int - X軸方向オフセット

getOriginY

public int getOriginY()
画像切り出し開始点のY座標を取得します。
定義:
インタフェース MediaImageOperator 内の getOriginY
戻り値:
int - Y軸方向オフセット

setOrigin

public void setOrigin(int offset_x,
                      int offset_y)
画像切り出し開始点を設定します。
定義:
インタフェース MediaImageOperator 内の setOrigin
パラメータ:
offset_x - X軸方向オフセット
offset_y - Y軸方向オフセット
例外:
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

getMediaWidth

public int getMediaWidth()
メディアの描画幅を取得します。
定義:
インタフェース MediaImageOperator 内の getMediaWidth
戻り値:
int - 描画幅
例外:
IllegalStateException - データが未設定の場合に発生する

getMediaHeight

public int getMediaHeight()
メディアの描画高さを取得します
定義:
インタフェース MediaImageOperator 内の getMediaHeight
戻り値:
int - 描画高さ
例外:
IllegalStateException - データが未設定の場合に発生する

play

public void play()
再生します。
オーバーライド:
クラス MediaPlayer 内の play
例外:
IllegalStateException - プレイヤーの状態がREADYでない場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

play

public void play(boolean isRepeat)
繰り返し指定つきで再生します。
オーバーライド:
クラス MediaPlayer 内の play
パラメータ:
isRepeat - 繰り返しの有無
例外:
IllegalStateException - プレイヤーの状態がREADYでない場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

play

public void play(int count)
繰り返し回数を指定して再生します。
オーバーライド:
クラス MediaPlayer 内の play
パラメータ:
count - 繰り返し回数(1 〜 255)
例外:
java.lang.IllegalArgumentException - 再生回数が有効範囲を超えた場合に発生する
IllegalStateException - プレイヤーの状態がREADYでない場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

stop

public void stop()
停止します。

次にplayした場合、先頭から再生されます。

オーバーライド:
クラス MediaPlayer 内の stop
例外:
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

pause

public void pause()
一時停止します。
オーバーライド:
クラス MediaPlayer 内の pause
例外:
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

resume

public void resume()
再開します。

一時停止している位置から再開します。

オーバーライド:
クラス MediaPlayer 内の resume
例外:
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

getState

public int getState()
プレイヤーの状態を取得します。
オーバーライド:
クラス MediaPlayer 内の getState
戻り値:
int - 現在の状態

addMediaPlayerListener

public void addMediaPlayerListener(MediaPlayerListener l)
MediaPlayerListenerを登録します。
オーバーライド:
クラス MediaPlayer 内の addMediaPlayerListener
パラメータ:
l - 登録するMediaPlayerListener

removeMediaPlayerListener

public void removeMediaPlayerListener(MediaPlayerListener l)
MediaPlayerListenerを登録解除します。
オーバーライド:
クラス MediaPlayer 内の removeMediaPlayerListener
パラメータ:
l - 登録解除するMediaPlayerListener

getSpeed

public int getSpeed()
再生速度を取得します。
戻り値:
再生速度(%)

setSpeed

public void setSpeed(int speed)
再生速度を設定します。

再生速度を設定します。初期値は 100(%) です。 設定できる範囲は 70 〜 130 です。

パラメータ:
speed - 再生速度(%)
例外:
java.lang.IllegalArgumentException - 値が有効な範囲を超えている場合に発生します。
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生します。

getChannelVolume

public int getChannelVolume(int ch)
チャンネルの音量を取得します。
パラメータ:
ch - チャンネル番号(0 〜 15)
戻り値:
チャンネルの相対音量(0 〜 127)
例外:
IllegalStateException - プレイヤーの状態がNO_DATAの場合に発生する
java.lang.IllegalArgumentException - 値が有効な範囲を超えている場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

setChannelVolume

public void setChannelVolume(int ch,
                             int volume)
チャンネルの音量を設定します。

カラオケ用SMAFデータに記録されている、引数ch に指定されたチャンネルの音量からの相対音量で設定します。 引数ch に指定されたチャンネルの音量は変更されません。 音量の設定はプレイヤーの状態がPLAYINGの場合のみ可能で、READY で初期値に戻ります。 相対音量の初期値は 127 です。

パラメータ:
ch - チャンネル番号(0 〜 15)
volume - チャンネルの相対音量(0 〜 127)
例外:
IllegalStateException - プレイヤーの状態がPLAYING以外の場合に発生する
java.lang.IllegalArgumentException - 値が有効な範囲を超えている場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

getHVVolume

public int getHVVolume()
HVパートの音量を取得します。
戻り値:
HVパートの相対音量(0 〜 127)
例外:
IllegalStateException - プレイヤーの状態がNO_DATAの場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する

setHVVolume

public void setHVVolume(int volume)
HVパートの音量を設定します。

カラオケ用SMAFデータに記録されているHVパートの音量からの相対音量で設定します。 HVパート音量は変更されません。 音量の設定はプレイヤーの状態がPLAYINGの場合のみ可能で、READY で初期値に戻ります。 相対音量の初期値は 127 です。

パラメータ:
volume - HVパートの相対音量(0 〜 127)
例外:
IllegalStateException - プレイヤーの状態がPLAYING以外の場合に発生する
java.lang.IllegalArgumentException - 値が有効な範囲を超えている場合に発生する
java.lang.RuntimeException - ネイティブ SMAF プレイヤーにエラーが発生した場合に発生する