2

LWJGL バインディングhttp://www.lwjgl.org/javadoc/を介して OpenAL を使用しています。ボリューム設定機能で可能な最大ゲインを知る必要があります。残念ながら、AL インスタンスが開いているかどうかに関係なく、AL10.alGetSourcef(sources.get(0), AL10.AL_MAX_GAIN) は常に 0F を返します。alSourcef でゲインを別の値に設定すると、それが新しい AL_MAX_GAIN になります。では、どうすれば実際の最大ゲインを見つけることができますか? それがなければ、オーディオ ボリューム スライダーをゲイン値に接続する方法がわかりません。

4

1 に答える 1

4

AL_MAX_GAIN はサウンド システムの最大ゲインではなく、設定した値です。たとえば、最大ゲインを 0.75 に設定し、ゲイン 1.0 でソースを再生すると、最大ゲインを制限するため、ソースは 0.75 ゲインで再生されます。

ゲインの openAL の概念は、最小 0.0 と最大 1.0 の範囲で相対的です。これは、サウンド システム (O/S、サウンド カード、アンプなど) に依存し、dB を 1.0 値に適用する方法をマッピングします。

于 2010-03-06T16:56:04.293 に答える