ホーム > デベロッパ > BREW FAQ

BREW FAQ : メディア

MIDI を再生するには ?

MIDI に限らず音声の再生を行うには、以下のような方法があります。

IMediaUtil インターフェイスを使用して再生

BREW SDK 2.1 には、簡単にメディアデータを再生するための IMediaUtil というインターフェイスが用意されています。 このインターフェイスは、再生対象のメディアデータが何であるかを自動的に判別し、 対応する IMedia 派生インターフェイスを作成して返してくれます。 IMediaUtil を使う場合の再生手順は、次のようになります。

  1. ISHELL_CreateInstance 関数で IMediaUtil インターフェイスを取得する。
  2. IMediaUtil_CreateMedia 関数を呼び出して IMedia 派生インターフェイスを作成する。
  3. IMedia_Play 関数で再生する。

IMedia 派生インターフェイスを作成してファイルを再生

メディア形式に応じたインターフェイスを作成した上で、 そのインターフェイスが再生可能なメディア ファイルを読み取らせることで、再生を行います。 IMedia 派生インターフェイスを使用した場合の再生手順は、次のようになります。

  1. ISHELL_CreateInstance 関数で IMedia 派生インターフェイスを作成する。
  2. IMedia_SetMediaData 関数で、メディアデータのファイル名をセットアップする。
  3. IMedia_Play 関数で再生する。

IMedia 派生インターフェイスを作成し、メディアデータを格納したバッファを再生

IMedia の再生データとして任意のバッファを指定できます。 この方法ですと、メディアデータを必ずしも通常のメディアファイル (MP3ファイル、MIDIファイルなど)として格納しておく必要はありませんので、 データソースの自由度が高くなります。 メディアデータを格納したバッファを使用した場合の再生手順は、次のようになります。

  1. IFileMgr、 IFile インターフェイスを使用して、ファイルからメディアデータを読み取り、 バッファに格納する。
  2. ISHELL_CreateInstance 関数で IMedia 派生インターフェイスを作成する。
  3. IMedia_SetMediaData 関数で、メディアデータを格納したバッファをセットアップする。
  4. IMedia_Play 関数で再生する。

SophiaFramework では、 SFBMedia、 SFBMediaUtil インターフェイスを使用します。

音声の再生に関しては、以下の Web サイトを参照してください。