DirectSoundの減衰式

[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

とあった場合

(2)C=AB

(2)式を満たす様な定義が対数です。
0がOutってのは、(2)式にあてはめた場合、0=10?
となるわけで、成立する答えが出て来ないって事です。
100の答えは「1」です。お間違えの無いよう....