[id:Ko-Ta:20060911:p1]さんの為に、一肌脱ぎましょう。
設定値(1/100dB)=(10 × log10(設定したい音量値/音量の最大値) )× 100
この設定値を与えれば、線形的に取れます。
※例外‥設定したい音量値が0の場合は、設定値に-10000を直接設定する。︵0だと、対数で値が取得できない為︶
※loge(自然対数)ではなく、log10(常用対数)です。
捕捉すると、dB(デシベル)は﹁10×log10A﹂と定義されています。 但し、DirectSoundの設定値は、そのdB値を1/100した整数値で設定します。 なので、上記のdB値に100を掛けているわけです。 ※対数 (1)B=logA C とあった場合 (2)C=AB (2)式を満たす様な定義が対数です。 0がOutってのは、(2)式にあてはめた場合、0=10? となるわけで、成立する答えが出て来ないって事です。 100の答えは﹁1﹂です。お間違えの無いよう....
捕捉すると、dB(デシベル)は﹁10×log10A﹂と定義されています。 但し、DirectSoundの設定値は、そのdB値を1/100した整数値で設定します。 なので、上記のdB値に100を掛けているわけです。 ※対数 (1)B=logA C とあった場合 (2)C=AB (2)式を満たす様な定義が対数です。 0がOutってのは、(2)式にあてはめた場合、0=10? となるわけで、成立する答えが出て来ないって事です。 100の答えは﹁1﹂です。お間違えの無いよう....