com.jblend.media.smaf
クラス SmafData <Phase2.5>

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 - dataがSMAFフォーマットでない場合に発生する

SmafData

public SmafData(byte[] data)
SmafDataコンストラクタです。 指定されたデータを使用します。
パラメータ:
data - データ本体
メソッドの詳細

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 - 表示高さ


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