ChangeVolumeSoundMem関数がうまく動作しない状況に遭遇して
解決方法が見当たらず困ってしまったので…。
プログラム内に設けた
BGMとSEを読み込むそれぞれのルーチンにおいて、
BGMにはChangeVolumeSoundMemが正しく作用するのに対し、
SEには作用しません。
@BGM
必要(再生)時にのみBGMを読み込み、ループポイントやボリュームを
設定し、再生する関数を作成しこれを利用。
ASE
プログラムの最初に初期化として、プログラムで使用するファイルを
全て(7〜80くらい)読み込み、配列へ格納。その後、
forループでChangeVolumeSoundMemを繰り返し呼び出して設定。
以上の処理に対して、
BGM部分についてはボリュームが反映されるのですが、
SE部分については反映されません。
どちらも音声ファイルを読み込むだけなので
本質的には変わらないはずなのですが、読み込んだSEファイルに対して
ChangeVolumeSoundMemを呼び出すと、いずれも-1が返ってくるようです。
(通常設定の)Logには特にエラーメッセージも見当たりません。
なお、再生はどちらも問題なくできます。