トップページ > 記事閲覧
ChangeVolumeSoundMemの音量が勝手に変わる
名前:Agate_Pris 日時: 2013/08/08 19:58

Ver 3.10eにて、 ChangeVolumeSoundMemで音量を変更したサウンドハンドラの再生時に、 音量が予期しない場面で変わってしまう現象が発生しています。 コードとファイル: ttps://dl.dropboxusercontent.com/u/757567/ChangeVolumeSoundMem.rar おそらく、他のサウンドハンドラを再生したタイミングで音量が変わるようです。 しばらくしたらだんだん大きくなったり、再生をしばらくおいてからすると直ったりしてよくわからない状況です。 int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode( TRUE ); if( DxLib_Init() == -1 ){ // DXライブラリ初期化処理 return -1 ; // エラーが起きたら直ちに終了 } int a, b; a = LoadSoundMem( "snd\\shot.wav" ); b = LoadSoundMem( "snd\\hit.wav" ); PlaySoundMem( a, DX_PLAYTYPE_NORMAL ); WaitTimer( 1000 ); ChangeVolumeSoundMem( 128, a ); for( int i = 0; i < 100; ++i ){ PlaySoundMem( a, DX_PLAYTYPE_BACK ); WaitTimer( 32 ); } PlaySoundMem( b, DX_PLAYTYPE_BACK ); // このタイミングでaの音量がおかしくなる? for( int i = 0; i < 100; ++i ){ PlaySoundMem( a, DX_PLAYTYPE_BACK ); WaitTimer( 32 ); } return 0; }
メンテ

Page: 1 |

Re: ChangeVolumeSoundMemの音量が勝手に変わる ( No.1 )
名前:pen 日時:2013/08/08 21:35

掲載されたコードをこちらで何度か試してみましたが、ハンドルaの音量が途中で変化することはありませんでした。 twitterには最小コードで再現するとありますが、このコードで問題が発生しているのでしょうか。 仮にライブラリの問題であったとして、音量がおかしくなったタイミングで再設定することで回避はできませんか。
メンテ
Re: ChangeVolumeSoundMemの音量が勝手に変わる ( No.2 )
名前:Agate_Pris 日時:2013/08/09 08:40

前回の投稿時は必ず再現した(最小プログラム以外も含む)のですが、 再度試した所確かに再現しませんでした。 再起動などのタイミングで何らかの状態が正常に戻ったのかもしれません。 最初におかしくなった理由は判りませんがお騒がせしました。
メンテ
Re: ChangeVolumeSoundMemの音量が勝手に変わる ( No.3 )
名前:AL 日時:2015/08/18 13:53

今更ですが、自分も同じような状況になったので。 自分の場合2つ以上の音で、1つ目を再生中に2つ目を鳴らすと1つ目の音量が下がり、2つ目の再生が終わると段々と元に戻る。大体そんな感じでした。 で、解決策ですが、OS側の問題で(自分の場合) コントロールパネル→ハードウェアとサウンド→オーディオデバイスの管理で使用中のデバイスを右クリックしてプロパティの拡張タブ→[すべてのサウンド効果をオフにする]にチェックを入れて解決です。 これにチェックが入っていないと他のソフトでも同じような事が起こります。 MedeiaPlayer等2つのソフトで音楽を再生すると一方の音量が小さくなり、もう一方を停止すると元に戻る。聴きやすくする為の機能みたいですね。 他の方が自分と同じ原因か分かりませんけど参考になれば。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存