mp3ファイルをLoadSoundMem()でロードしてPlaySoundMem()で再生すると
0.5秒〜1.0秒の部分(計測したわけではないので不正確)が再生されずに音が飛びます。
一度音が飛んだ後は最後まで正常に再生されます。
PlaySoundMem()の第2引数をDX_PLAYTYPE_LOOPにすると2回目以降のループも音飛びします。
SetCreateSoundDataType()は使用していません。
フリー素材サイトで配布されているSEや、ゲーム公式サイトのボイスサンプル等で試しましたがすべて音が飛びます。
他のオーディオプレイヤーで再生すると問題なく再生されるのでファイルが原因ではないと思われます。
mp3をwavに変換すると音飛びはなくなりました。
原因がわからず困っています。
ご教示ください。
以下簡略化していますがソースコードです。
DxLibのバージョンは3.18eです。
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
// DXライブラリ初期化処理
if( DxLib_Init() == -1 )
{
return -1; // エラーが起きたら直ちに終了
}
int soundHd = LoadSoundMem("test.mp3");
PlaySoundMem(soundHd,DX_PLAYTYPE_BACK);
WaitKey();
// DXライブラリ使用の終了処理
DxLib_End() ;
return 0 ; // ソフトの終了
}