音量調節がうまくいかない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
サモ

音量調節がうまくいかない

#1

投稿記事 by サモ » 15年前

はじめまして、龍神録プログラミングの館で勉強させていただいてます。

現在、18章で当たり判定とSEをつけたのですが、load.cppのChangeVolumeSoundMem()による音量調節がうまく動きません。
正確には、2回動かず1回動く、という動作をします。
音量を0に設定しても、鳴る、鳴る、鳴らないという状態です。

ためしに再生する直前に(music.cppのPlaySoundMem()の直前)で音量調節してみると、
始めの2回は動きませんでしたが、それ以降はちゃんと動きました。
結局、始めの2回は動いていないわけですが。

正直、原因が分からず困っています。
どなたか、原因を推測できる方お願いします。

アバター
bitter_fox
記事: 607
登録日時: 15年前
住所: 大阪府

Re: 音量調節がうまくいかない

#2

投稿記事 by bitter_fox » 15年前

的確なアドバイスをするためには情報が少ないです。
お書きになったソースを載せていただけますか?(load関数とmusic_play関数)
(その際にはcodeタグで囲っていただきますようにお願いします。)
サモ さんが書きました: 現在、18章で当たり判定とSEをつけたのですが、load.cppのChangeVolumeSoundMem()による音量調節がうまく動きません。
正確には、2回動かず1回動く、という動作をします。

ためしに再生する直前に(music.cppのPlaySoundMem()の直前)で音量調節してみると、
始めの2回は動きませんでしたが、それ以降はちゃんと動きました。
「二回動かず一回動く」とありますが、それはどの二つが動かなくてどの一つが動くのでしょうか?
詳しく教えていただけますか?

サモ

Re: 音量調節がうまくいかない

#3

投稿記事 by サモ » 15年前

すいません、言葉足らずでした。

load.cpp

コード:

void load(){
//画像読み込みなど(略)
//SE読み込み
	sound_se[0]=LoadSoundMem("../dat/se/enemy_shot.wav");
	sound_se[1]=LoadSoundMem("../dat/se/enemy_death.wav");
	sound_se[2]=LoadSoundMem("../dat/se/cshot.wav");
	sound_se[8]=LoadSoundMem("../dat/se/hit.wav");
	ChangeVolumeSoundMem( 0, sound_se[0] ) ;//テストのためボリューム0
	ChangeVolumeSoundMem(128, sound_se[1] ) ;
	ChangeVolumeSoundMem(128, sound_se[2] ) ;
	ChangeVolumeSoundMem( 80, sound_se[8] ) ;
}
music.cpp

コード:

void music_play(){
	int i;
	for(i=0;i<SE_MAX;i++){
		if(se_flag[i]==1){
			if(CheckSoundMem(sound_se[i])!=0){
				if(i==8)continue;
				StopSoundMem(sound_se[i]);
			}
			//ChangeVolumeSoundMem( 0, sound_se[0] ) ;//試しに追加
			PlaySoundMem(sound_se[i],DX_PLAYTYPE_BACK);
		}
	}
}
load.cppのテストのためボリューム0部分と、music.cppの試しに追加した部分以外は元のソースファイルのままです。
「二回動かず一回動く」というのは、今は敵の弾発射音でテストしているのですが、
1射目、2射目の音は鳴り、3射目は鳴らない、4,5が鳴って、6が鳴らない、という感じです。
music.cppの試しに追加を入れると、4射目以降もなりません。

またダウンロードした18章のソースでも試してみたのですが、(それまでは1章のソースに追加していったものを使っていました)
やはり同じ結果になりました。
こうなるとパソコン自体の不調だと思うのですが、確認のためにもお願いします。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: 音量調節がうまくいかない

#4

投稿記事 by Dixq (管理人) » 15年前

すみません、DXライブラリ自体のバグだったようです。
foxさんとSAIさんが本家掲示板で報告されているのを教えて下さいました。
今の最新バージョンでは修正されているので、配布しているプロジェクトに含まれるライブラリを最新に差し替えておきました。
よろしければ再度ダウンロードしてお使いください。

サモ

Re: 音量調節がうまくいかない

#5

投稿記事 by サモ » 15年前

最新版をダウンロードして試したところ、問題なく動作しました。
自分のPCの不調などではなく安心しました。
Dixq (管理人)さん、ならびにfoxさん、SAIさん、ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る