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

BREW FAQ : メディア

BREW では、どのようなメディア形式を再生できますか?

BREW では、以下のメディア形式を再生できます。

メディア形式 対応している BREW SDK
MIDI 形式 BREW SDK 2.0 以降
MP3 形式 BREW SDK 2.0 以降
QCP 形式 (Qualcomm Pure Voice形式) BREW SDK 2.0 以降
PMD 形式 (WebAudio形式) BREW SDK 2.0 以降
MPEG4 形式 BREW SDK 2.1 以降
MMF 形式 (SMAF形式) BREW SDK 2.1 以降
Phrase 形式 BREW SDK 2.1 以降
IMA-ADPCM 形式 (WAV 形式) BREW SDK 2.1 以降
AAC 形式 BREW SDK 2.1 以降
AMR 形式 BREW SDK 3.1.2 以降

上記のメディア形式を再生できるかどうかは、携帯電話端末の機種に依存します。

      

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 インターフェイスを使用します。

      

PureVoice とは?

PureVoice とは、Qualcomm 社が開発した音声圧縮技術です。 この技術で圧縮された音声ファイルは、".qcp" の拡張子を持ち、QCP 形式と呼ばれます。 WAV 形式のファイルを QCP 形式のファイルに変換すると、 ファイルのサイズが 10 分の 1 以下に圧縮されます。 QCP 形式は、主に CDMA 方式の携帯電話で利用されています。

      

エミュレーターで音声の録音はできますか?

BREW SDK 2.0/2.1/3.1 では、 エミュレーターでの録音はサポートされていません。

      

ファイルの一部として格納されたメディア データを再生することはできますか?

ファイルの一部をメモリに読み込むことで再生できます。

メモリ上の音声データを再生する方法につきましては、 BREW プログラミング入門 「音を出してみよう」 に解説がありますので、そちらをご参照ください。

音声データをすべてメモリに読み込むことができない場合、 IFile インターフェイスを AEEMediaData に設定することでも再生できます。 この場合、IMEDIA_SetMediaData() に渡す AEEMediaData 構造体の AEEMediaData.pData に該当位置までシークした IFile を設定し、 AEEMediaData.dwSize に音声データのサイズを指定します。

      

エミュレーターで MPEG4 形式を再生できますか?

BREW SDK 2.1 のエミュレーターでは、IMediaMPEG4 インターフェイスは サポートされておらず、インスタンスを作成することはできません。 したがって、MPEG4 形式を再生することはできません。

      

Q3D コンバーターとは何ですか?

このコンバーターは、Autodesk 社3D 3ds max が使用する 3DS ファイルを、BREW の I3DModel インターフェースで使用可能なQ3D ファイルに変換するもので、BREW SDK 2.1 以降に対応しています。

q3dconverter.gif

LightWave などで作成した 3D モデリングデータを Q3D 形式に変換するには、LigthWave のプラグインなどを使用して 3D Studio Max 形式 (.3ds) でファイルに保存してから、Q3D コンバーターを使用します。

BREW SDK 2.1.1 日本語版 に同梱されている『BREW 2.1 新インタフェースリファレンス』の 240 ページにある「Q3D ファイル形式」を参照して、独自コンバータも作成できます。

Q3D コンバーターは Qualcomm 社のサイト から入手できます。

      

大きな音声ファイルを再生するには?

一括で読み込むには大きすぎる音声ファイルを途切れずに再生するには、IMediaUtil インターフェイス、または IMedia 派生インターフェイスを使います。

このとき、メディアデータ構造体 (AEEMediaData) に音声ファイル名を設定し、IMediaUtil_CreateMedia() や IMEDIA_SetMediaData() を呼び出します。

IMediaUtil インターフェイスを使うときの手順は以下のとおりです。

  1. ISHELL_CreateInstance() を呼び出し、IMediaUtil インタフェースを作成します。
  2. メディアデータ構造体に音声ファイル名を設定します。
      AEEMediaData {
      clsData = MMD_FILE_NAME
      pData   = 音声ファイル名
      dwSize  = 0
      }
  3. IMediaUtil_CreateMedia() を呼び出し、IMedia 派生インタフェースを作成します。
  4. IMedia_Play() を呼び出し、音声を再生します。
      

PureVoice コンバータとは?

PureVoice コンバータとは、PCM (モノラル、8 kHz、16 ビット) WAV ファイルを QCP ファイルに変換する BREW SDK ツールです。 また、QCP ファイルを WAV ファイルに変換することも可能です。

詳細は、『BREW ユーティリティ ガイド』の「PureVoice コンバータの使用」を参照してください。

      

IVocoder インタフェースとは?

IVocoder とは音声を録音するためのインターフェイスです。