【问题标题】:Why LibGDX sound pitch doesn't work with GWT?为什么 LibGDX 音高不适用于 GWT?
【发布时间】:2020-03-12 13:41:28
【问题描述】:

我使用 Sound 类的实例。为了获得所需的音高,我使用以下方法:

public long loop (float volume, float pitch, float pan);

它在桌面版本上按预期工作,但在 GWT 推销上不起作用。

我的 gwtVersion 是 2.8.2,gdxVersion 是 1.9.10,我使用的是 de.richsource.gradle.plugins:gwt-gradle-plugin:0.6

我已经被这个问题困扰了几天了,非常感谢您的任何意见。

【问题讨论】:

  • 你能更具体地说明“不工作”吗?错误消息、预期与实际行为、您尝试过的代码等?
  • 发出声音但音高不起作用。不同的音高值产生相同的声音。我也在 Sound 实例上尝试了 setPitch 方法,但结果是一样的。我在桌面构建上没有这些问题。

标签: gwt libgdx game-development


【解决方案1】:

“为什么 LibGDX 音高不适用于 GWT?”

因为官方 libGDX GWT 后端使用 SoundManager 在浏览器中播放声音,而 SoundManager 不支持音高。

要让它运行,您必须更改为另一个解决方案:WebAudio API。幸运的是,其他人已经为 libGDX 实现了它,但由于未知原因它没有被拉入存储库。见PR 5659

正如 PR 中所述,您可以切换到我的分叉 GWT 后端以使其工作。只需更改您的 gradle.build 文件

implementation 'com.github.MrStahlfelge.gdx-backends:gdx-backend-gwt:1.910.0'

如果您还没有 Jitpack 存储库,您还需要声明。

【讨论】:

  • 非常感谢您推动正确的方向。我只需要更多信息来修改我的 build.gradle 文件。我将编译“com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion”更改为编译“com.github.MrStahlfelge.gdx-backends:gdx-backend-gwt:1.910.0”。我在项目(“:html”)中做了这些改变。我对gradle不是很了解。您能否准确说明我必须在 build.gradle 中更改的内容。非常感谢。
  • 你可以找到完整信息on the repo's readme file
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-16
相关资源
最近更新 更多