首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenAL全局声音

OpenAL全局声音
EN

Stack Overflow用户
提问于 2015-12-30 18:08:18
回答 1查看 413关注 0票数 1

是否有可能创建“全局”的声源,即它们的音量和音高完全不受听者的位置和速度的影响?

我希望两个系统声音(不受侦听器影响)和三维声音在我的应用程序中,我找不到任何解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-30 18:24:38

如果你的声音是立体声,那么你可以把它们放在任何地方,它们不受相对距离、旋转和速度的影响。

但是如果它们是单一的,你需要做更多的工作:

所有音频源都有position & velocity relative to listener标志。打开它,将源坐标保持在默认位置,{0,0,0},以零速度。

代码语言:javascript
复制
alSourcei(source, AL_SOURCE_RELATIVE, 1); // This turns on the flag

这将只有当你使用一个夹紧距离模型。Clamped inverse distance是默认的,所以您应该不会有任何问题。(距离模型是一个方程,它决定了当与听者之间的距离发生变化时,声音的音量是如何变化的。您可以使用OpenAL函数选择这些模型中的一个。夹紧距离模型是这样一种模型,当声音准确地放在听者身上时,声音不会发出无限大的声音。因此,体积被夹紧到某个最大值。但是,如果你使用一个非夹紧距离模型,那么你应该打开标志,把你的声音恰好是一个参考距离的侦听器。因此,它将在,例如,在{ref_distance,0,0}。默认的引用距离是1.0,但是您可以使用OpenAL函数来更改它。(参考距离是指声音的音量等于1的距离。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34534802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档