在 OpenAL 中找到最大增益
我通过 LWJGL 绑定使用 OpenAL http://www.lwjgl.org/javadoc/ 。 我需要知道音量设置功能的最大可能增益。 不幸的是,无论 AL 实例是否打开,AL10.alGetSourcef(sources.get(0), AL10.AL_MAX_GAIN) 始终返回 0F。如果我将 alSourcef 的增益设置为其他值,则该值将成为新的 AL_MAX_GAIN。 那么如何才能找到实际的最大增益呢?如果没有它,我不知道如何将音频音量滑块连接到增益值。
I'm using OpenAL via the LWJGL bindings http://www.lwjgl.org/javadoc/.
I need to know the maximum possible gain for my volume setting function.
Unfortunately AL10.alGetSourcef(sources.get(0), AL10.AL_MAX_GAIN) always returns 0F, whether or not an AL instance is open. If I set the gain with alSourcef to some other value, that becomes the new AL_MAX_GAIN.
So how can I find the actual maximum gain? Without it I don' see how I can hook up an audio volume slider to the gain value.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
AL_MAX_GAIN 不是音响系统的最大增益,而是您设置的值。例如,如果您将最大增益设置为 0.75,然后播放增益为 1.0 的源,则该源将以 0.75 增益播放,因为您限制了最大增益。
openAL 增益的概念是相对的,范围是最小 0.0 到最大 1.0,它取决于您的音响系统:O/S、声卡、放大器等来映射如何将 dB 应用到 1.0 值。
AL_MAX_GAIN is not maximum gain of your sound system, its the value that you set. for example if you set max gain to 0.75 then you play a source with gain 1.0, the source will be played at 0.75 gain since you limit the maximum gain.
openAL concept of gain is relative in range of minimum 0.0 and maximum 1.0, its depend on your sound system : O/S, sound card, amplifier, etc to map how dB to apply to 1.0 value.