ttp://dixq.net/forum/viewtopic.php?f=3&t=14648
こちらで質問しております通り
3Dサウンドの再生について質問させて下さい。
症状としては上手くファイルが再生されず、高い変な音に変換されてしまうというものです。
以下再現コードになります
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE);
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1; //初期化と裏画面化
// サウンドの読み込みとループ再生開始
SetCreate3DSoundFlag( TRUE ) ;
int SoundHandle = LoadSoundMem( "dat/sound/se/test.ogg" ) ;
SetCreate3DSoundFlag( FALSE ) ;
// 何かキーが押されるかウインドウが閉じられるまでループ
while( !ScreenFlip() && !ProcessMessage() && !ClearDrawScreen() ){
PlaySoundMem( SoundHandle, DX_PLAYTYPE_BACK ) ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
因みに
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE);
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1; //初期化と裏画面化
// サウンドの読み込みとループ再生開始
SetCreate3DSoundFlag( TRUE ) ;
int SoundHandle = LoadSoundMem( "dat/sound/se/test.ogg" ) ;
SetCreate3DSoundFlag( FALSE ) ;
PlaySoundMem( SoundHandle, DX_PLAYTYPE_LOOP ) ;
// 何かキーが押されるかウインドウが閉じられるまでループ
while( !ScreenFlip() && !ProcessMessage() && !ClearDrawScreen() ){
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
これだと正常に聞こえます。
もしかして3Dサウンドではバックグラウンド再生が出来ないのでしょうか?
また3Dサウンドフラグをたてていない時にバックグラウンド再生を試しましたが、正常に聞こえます。
原因が皆目検討付かず質問させて頂きました。
宜しくお願い致します。