トップページ > 過去ログ > 記事閲覧
ChangeVolumeSoundMem() が必ず失敗
名前:KWT 日時: 2012/12/14 17:05

お世話になっております。KWTと申します。 DXライブラリ Ver 3.09 でサウンド関連の作業をしていたところ、 以下のような症状を確認しましたので、報告させて頂きます。 ■ 症状 ChangeVolumeSoundMem() が戻り値 -1 を返して失敗する。 実際に音量の変化も確認できない。 ■ 再現性 20/20 ■ コード #include "DxLib.h" int WINAPI WinMain( HINSTANCE instance, HINSTANCE prev_instance, LPSTR cmdline, int cmdshow ) { ChangeWindowMode( true ); SetGraphMode( 640, 480, 32 ); DxLib_Init(); int const handle = LoadSoundMem( L"test.wav" ); if( handle == -1 ) { AppLogAdd( L"LoadSoundMem() function is failed.\n" ); } // test.wav のボリュームを 0 に設定. if( ChangeVolumeSoundMem( handle, 0 ) == -1 ) { AppLogAdd( L"ChangeVolumeSoundMem() function is failed.\n" ); } while( ProcessMessage() == 0 ) { // ChangeVolumeSoundMem() が上手いていれば音が聞こえない. PlaySoundMem( handle, DX_PLAYTYPE_NORMAL ); } DxLib_End(); return 0; } ■ 実行ファイル ttp://dl.dropbox.com/u/3793647/sound_test.zip ■ 環境 DXライブラリ Ver 3.09 Microsoft Visual C++ 2010 Express Windows 7 Home Premium 64-bit Service Pack 1 以上、よろしくお願いします。

Page: 1 |

Re: ChangeVolumeSoundMem() が必ず失敗 ( No.1 )
名前:Will 日時:2012/12/14 17:01

ChangeVolumeSoundMemの引数間違えていますよ。 第一引数はボリュームで第二引数はハンドルです。
Re: ChangeVolumeSoundMem() が必ず失敗 ( No.2 )
名前:KWT(解決済み) 日時:2012/12/14 17:09

Will 様ご指摘ありがとうございます。 ご指摘頂いたように ChangeVolumeSoundMem の第一引数と第二引数を取り違えていたのが原因でした。 私の勘違いでお騒がせしました。

Page: 1 |