com.jblend.media.smaf
クラス SmafData

java.lang.Object
  |
  +--com.jblend.media.MediaData
        |
        +--com.jblend.media.smaf.SmafData

public class SmafData
extends MediaData

SmafDataクラスはSMAF形式のメディアデータを保持するためのクラスです。

getContentType()メソッドは、SMAFデータのコンテンツタイプ(注1) の値を返します。

getTagStart()getTagEnd()メソッドでは、SmafDataTagインタフェースにて定義されるPhrase Listタグ(注2) の識別子を指定して、そのタグのSMAFデータ中での位置(開始時点と終了時点)を取得することができます。 取得した開始時点をSmafPlayerのseek()メソッドに指定して再生位置を移動し、終了時点をSmafPlayerのsetPlayEnd()メソッドに指定すると、Phrase Listタグだけを再生させることができます。

SmafDataTagインタフェースで定義されるPhrase Listタグの識別子を表1に示します。

表1. SmafDataTagインタフェース
フィールド 内容
static int SMAF_TAG_CLIMAX サビ
static int SMAF_TAG_ENDING エンディング
static int SMAF_TAG_INTERLUDE 間奏
static int SMAF_TAG_INTRO イントロ
static int SMAF_TAG_MELODY_A A メロディ
static int SMAF_TAG_MELODY_B B メロディ
static int SMAF_TAG_REFRAIN リフレイン

注1 SMAFのコンテンツタイプの詳細については、ヤマハ株式会社の仕様書を参照してください。
注2 Phrase List タグの詳細については、ヤマハ株式会社の仕様書を参照してください。


フィールドの概要
static java.lang.String type
          データタイプ文字列
 
コンストラクタの概要
SmafData()
          SmafDataコンストラクタ
SmafData(byte[] data)
          SmafDataコンストラクタ。
SmafData(java.lang.String name)
          SmafDataコンストラクタ
指定のリソースファイルをデータとして使用します。
 
メソッドの概要
 int getContentType()
          コンテンツタイプを取得する。
 int getHeight()
          データの表示高さを取得する。
 java.lang.String getMediaType()
          メディアデータをあらわす文字列を取得する。
 int getTagEnd(int tag)
          PhraseList タグの終了位置を取得する。
 int getTagStart(int tag)
          PhraseList タグの開始位置を取得する。
 int getWidth()
          データの表示幅を取得する。
 void setData(byte[] data)
          新しいデータを設定する。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

type

public static final java.lang.String type
データタイプ文字列
コンストラクタの詳細

SmafData

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

SmafData

public SmafData(java.lang.String name)
         throws java.io.IOException
SmafDataコンストラクタ
指定のリソースファイルをデータとして使用します。
パラメータ:
name - リソース名
例外:
NullPointerException - nameがnullの場合に発生します。
java.io.IOException - データファイルの取得に失敗した場合に発生します。
java.lang.IllegalArgumentException - nameがSMAFフォーマットでない場合に発生します。
IllegalStateException - プレイヤーが他で使用中などにより利用できない場合に発生します。

SmafData

public SmafData(byte[] data)
SmafDataコンストラクタ。
パラメータ:
data - データ本体
例外:
NullPointerException - dataがnullの場合に発生します。
java.lang.IllegalArgumentException - dataがSMAFフォーマットでない場合に発生します。
IllegalStateException - プレイヤーが他で使用中などにより利用できない場合に発生します。
メソッドの詳細

getContentType

public int getContentType()
コンテンツタイプを取得する。
コンテンツタイプの詳細は SMAF 仕様書を参照してください。 データ未設定の場合には負の値が返ります。
戻り値:
int - コンテンツタイプ

getTagStart

public int getTagStart(int tag)
PhraseList タグの開始位置を取得する。
単位は msec です。
もしもタグが存在しない場合は負の値が返ります。
パラメータ:
tag - タグ名
戻り値:
int - 開始位置
例外:
java.lang.IllegalArgumentException - タグ名そのものが不正の場合に発生します。
NullPointerException - データ未設定の場合に発生します。

getTagEnd

public int getTagEnd(int tag)
PhraseList タグの終了位置を取得する。
単位は msec です。
もしもタグが存在しない場合は負の値が返ります。
パラメータ:
tag - タグ名
戻り値:
int - 終了位置
例外:
java.lang.IllegalArgumentException - タグ名そのものが不正の場合に発生します。
NullPointerException - データ未設定の場合に発生します。

getMediaType

public java.lang.String getMediaType()
メディアデータをあらわす文字列を取得する。
このメディアデータの種類をあらわすための文字列が返されます。
オーバーライド:
クラス MediaData 内の getMediaType
戻り値:
String - メディアをあらわす文字列

setData

public void setData(byte[] data)
新しいデータを設定する。
オーバーライド:
クラス MediaData 内の setData
パラメータ:
data - 新しいデータ
例外:
IllegalStateException - データが現在使用中またはプレイヤーが他で使用中などにより利用できない場合に発生します。
NullPointerException - dataがnullの場合に発生します。
java.lang.IllegalArgumentException - dataがSMAFフォーマットでない場合に発生します。

getWidth

public int getWidth()
データの表示幅を取得する。
イメージデータがない場合は、0が返ります。
戻り値:
int - 表示幅

getHeight

public int getHeight()
データの表示高さを取得する。
イメージデータがない場合は、0が返ります。
戻り値:
int - 表示高さ