[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」です。お間違えの無いよう....