ホーム > デベロッパ > 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 インターフェイスを使用します。

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

      

PureVoice とは ?

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

      

PureVoice コンバータとは ?

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

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

      

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

BREW 2.0 には、音声を録音するための IVocoder インターフェイスが用意されていますが、 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 形式を再生することはできません。

      

IVocoder インタフェースとは?

エミュレータで音声の録音はできますか ?」を参照してください。

      

Qualcomm 社が提供しているコンバータは、3D Studio MAX でのみ使用可能ですか?

Qualcomm 社が提供しているコンバータは、3D Studio MAX の形式 (.3ds) のファイルのみQ3D 形式に変換するようです。

LightWave などで作成した 3D モデリングデータを Q3D 形式に変換する場合は、LigthWave のプラグインなどを使用して 3D Studio Max の形式 (.3ds) でファイルに保存し、Qualcomm 社のコンバータを使用する方法が簡単だと思います。

また、Q3D 形式のフォーマットは、『BREW 2.1 新インタフェースリファレンス』の 240 ページ「Q3D ファイル形式」に記載されていますので、ユーザーが独自のコンバータを作成することも可能です。