ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

SMAF ファイル (音声ファイル) をリソースからロードして再生する

SMAF ファイル (音声ファイル) をリソースからロードして再生するには、以下の手順を行います。

1. リソースファイルからバイナリデータ読み込み

SFBMediaMMFSmp media;
AEEMediaData data;
SFXAnsiString file;
VoidPtr res_data;

if ((res_data = SFBShell::GetInstance()->LoadResData(
    "MyResource.bar", 1000, RESTYPE_BINARY)) != null) {
    // 取得成功
}

2. メモリブロックの再生

data.clsData = MMD_BUFFER;
data.pData = res_data;
data.dwSize = 0;

if (media->SetMediaData(&data) == SFERR_NO_ERROR) {
    media->Play();
}

3. リソースデータの解放

media->Stop();
SFBShell::GetInstance()->FreeResData(res_data);

再生中はリソースから取得したメモリブロックは解放してはいけません。

SMAF ファイルを実際に再生できるかどうかは機種に依存します。

参照 SFBShell::LoadResData | SFBMediaMMF::SetMediaData |
SFBMediaMMF::Play | SFBMediaMMF::Stop | SFBShell::FreeResData