|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--com.jblend.media.MediaFactory
メディアデータに固有のデータ保持クラス、およびプレイヤーを自動的に生成するためのクラスです。
MediaFactoryクラスを使用すると、再生するメディアの種類が未知である場合にも、その種類を自動判別してMediaPlayerから派生されたプレイヤーを生成することができます。
プレイヤーの生成はMediaFactoryのgetMediaPlayer()メソッドで行います。getMediaPlayer()は、再生するメディアデータのurlを指定するgetMediaPlayer(java.lang.String name)
と、バイト配列で指定するgetMediaPlayer(byte[] data)
の2種類が用意されています。getMediaPlayer()は、指定されたデータに基いてメディアデータ保持クラス(MediaData派生クラス)およびプレイヤーのクラス(MediaPlayer派生クラス)を決定して生成します。そして、メディアデータを設定した状態でプレイヤーのインスタンスを呼び出し元に返します。
取得されたプレイヤーは、必要に応じてinstanceof演算子を用いてどのクラスあるいはインタフェースの実装であるかを確認して使用してください。下記に例を示します。
//data はバイト配列とします try{ MediaPlayer player = MediaFactory.getMediaPlayer(data) if(player instanceof MediaImageOperator){ // playerは画像を扱うプレイヤー int mediaHeight = ((MediaImageOperator)player).getMediaHeight(); int mediaWidth = ((MediaImageOperator)player).getMediaWidth(); … if(player instanceof SmafPlayer){ //SmafPlayerの場合の処理 … } … } else if(player instanceof SmdPlayer){ //Playerは画像を扱わないSmdPlayer … } … } catch(IllegalArgumentException ea){ //該当するプレイヤーがないときの処理 } catch(java.io.IOException ei){ //データの読み込みに失敗したときなどの処理 } catch(NullPointerException en){ //dataがnullのときの処理 }
フィールドの概要 | |
static int |
MEDIA_TYPE_KARAOKE
メディアタイプ Karaoke getMediaPlayer(java.lang.String, int) , getMediaPlayer(byte[], int)
FileUtility.getMediaPlayer(java.lang.String, int) に使用するメディアタイプです。 |
static int |
MEDIA_TYPE_SMAF
メディアタイプ Smaf getMediaPlayer(java.lang.String, int) , getMediaPlayer(byte[], int)
FileUtility.getMediaPlayer(java.lang.String, int) に使用するメディアタイプです。 |
メソッドの概要 | |
static MediaPlayer |
getMediaPlayer(byte[] data)
メディアプレイヤーを取得する。 |
static MediaPlayer |
getMediaPlayer(byte[] data,
int type)
メディアプレイヤーを取得する。 |
static MediaPlayer |
getMediaPlayer(java.lang.String name)
メディアプレイヤーを取得する。 |
static MediaPlayer |
getMediaPlayer(java.lang.String name,
int type)
メディアプレイヤーを取得する。 |
クラス java.lang.Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int MEDIA_TYPE_SMAF
getMediaPlayer(java.lang.String, int)
, getMediaPlayer(byte[], int)
FileUtility.getMediaPlayer(java.lang.String, int)
に使用するメディアタイプです。
public static final int MEDIA_TYPE_KARAOKE
getMediaPlayer(java.lang.String, int)
, getMediaPlayer(byte[], int)
FileUtility.getMediaPlayer(java.lang.String, int)
に使用するメディアタイプです。
メソッドの詳細 |
public static MediaPlayer getMediaPlayer(java.lang.String name) throws java.io.IOException
name
- メディアデータのリソース名java.lang.IllegalArgumentException
- 該当するプレイヤーがない場合に発生します。NullPointerException
- データがnullの場合に発生します。java.io.IOException
- データの読み込みの失敗などが発生した場合に発生します。java.lang.RuntimeException
- ネイティブプレイヤーの生成に失敗した場合に発生します。public static MediaPlayer getMediaPlayer(byte[] data)
data
- メディアデータNullPointerException
- データがnullの場合に発生します。java.lang.IllegalArgumentException
- サポートしていないデータの場合に発生します。java.lang.RuntimeException
- ネイティブプレイヤーの生成に失敗した場合に発生します。public static MediaPlayer getMediaPlayer(java.lang.String name, int type) throws java.io.IOException
引数typeには MediaFactory
で定義されているメディアタイプを指定してください。
メディアデータがSmafデータの場合、引数typeに指定されたメディアプレイヤーを生成します。
引数typeが不正な場合は SmafPlayer
を生成します。
name
- メディアデータのリソース名type
- メディアプレイヤーの種別java.lang.IllegalArgumentException
- 該当するプレイヤーがない場合に発生します。NullPointerException
- データがnullの場合に発生します。java.io.IOException
- データの読み込みの失敗などが発生した場合に発生します。java.lang.RuntimeException
- ネイティブプレイヤーの生成に失敗した場合に発生します。public static MediaPlayer getMediaPlayer(byte[] data, int type)
引数typeには MediaFactory
で定義されているメディアタイプを指定してください。
メディアデータがSmafデータの場合、引数typeに指定されたメディアプレイヤーを生成します。
引数typeが不正な場合は SmafPlayer
を生成します。
data
- メディアデータtype
- メディアプレイヤーの種別NullPointerException
- データがnullの場合に発生します。java.lang.IllegalArgumentException
- サポートしていないデータの場合に発生します。java.lang.RuntimeException
- ネイティブプレイヤーの生成に失敗した場合に発生します。
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |