LoadBGM は LoadSoundMem の補助関数です
LoadBGM の内部は以下のようになっています
// 主にBGMを読み込むのに適した関数
extern int LoadBGM_WCHAR_T( const wchar_t *WaveName )
{
int Type = SoundSysData.CreateSoundDataType, SoundHandle ;
if( _WCSICMP( WaveName + _WCSLEN( WaveName ) - 3, L"wav" ) == 0 )
{
NS_SetCreateSoundDataType( DX_SOUNDDATATYPE_FILE ) ;
}
else
{
NS_SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS ) ;
}
SoundHandle = LoadSoundMem_WCHAR_T( WaveName, 1 ) ;
NS_SetCreateSoundDataType( Type ) ;
return SoundHandle ;
}
LoadSoundMem でサウンドファイルを読み込む場合も、読み込み時間を短縮するために LoadSoundMem を実行する前に
SetCreateSoundDataType( DX_SOUNDDATATYPE_FILE ) ; を実行してファイルストリーム方式で読み込むように設定を変更したり
SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS ) ; を実行して圧縮形式のサウンドファイルを圧縮形式のまま再生する方式で
読み込むように設定を変更したりしますが、それを LoadBGM では内部で自動的に行ってくれる、というだけの関数です
> この関数はLoadSoundmMem関数などで内部処理の違いというのはあるのでしょうか?
>
> またサンプルや他の文献ではLoadBGM関数の名前がほとんど挙がらないので、読み込む際はLoadSoundMem関数でもあまり変わらないのですか?
内部で LoadSoundMem を使用しているので、SetCreateSoundDataType を使用している点を除けば LoadSoundMem と同じ処理をしています
自前で SetCreateSoundDataType を呼ぶ手間が省けるので便利だと思いますが、便利なだけの関数で、なぜ便利なのかを説明するには
結局 SetCreateSoundDataType の機能について知らなければならないので、『微妙な関数かも・・・』と思ってしまい、なんとなくリファレンスに載せていません・・・