【问题标题】:OpenAL global soundsOpenAL 全局声音
【发布时间】:2015-12-30 18:08:18
【问题描述】:

是否可以创建“全局”的声源,这意味着它们的音量和音高根本不受听者位置和速度的影响?

我想要在我的应用程序中同时使用系统声音(不受听众影响)和 3 维声音,但我找不到任何解决方案。

【问题讨论】:

    标签: openal


    【解决方案1】:

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

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

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

    alSourcei(source, AL_SOURCE_RELATIVE, 1); // This turns on the flag
    

    这仅在您使用 clamped 距离模型之一时才有效。 Clamped inverse distance 是默认的,所以你应该没有任何问题。 (距离模型是一个方程,它确定当与听众的距离发生变化时音量会以何种方式变化。您可以使用 OpenAL 函数选择其中一个模型。clamped 距离模型就是这样一种模型,其中当声音完全放在听者身上时,它不会变得无限响亮。因此,音量clamped 到某个最大值。)但是如果您使用非固定距离模型,那么您应该打开标志将您的声音放置在距离听众一参考距离的位置。例如,它将位于{ref_distance,0,0}。默认参考距离为1.0,但您可以使用 OpenAL 函数对其进行更改。 (参考距离是声音的音量等于1的距离。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多