在 OpenAL 中找到最大增益

发布于 2024-08-21 00:11:21 字数 319 浏览 4 评论 0原文

我通过 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

预谋 2024-08-28 00:11:21

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文