0

我只是尝试使用 GWT-SoundManager2 来制造一些噪音。我刚刚尝试了一个简单的代码,如下所示:

SoundManager sm;
String SS = "soundId"
sm = SoundManager.quickStart();
sm.createSound(SS, "/sounds/mysound.wav");
sm.play(SS);

但它抛出异常:

引起:com.google.gwt.core.client.JavaScriptException: (TypeError): Object [object Object] has no method 'toLowerCase' at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:248 )在 com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) 在 com.google.gwt。 dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:289) 在 com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)

但是,如果我更改为以下内容,它将起作用:

SoundManager sm;
String SS = "soundId"
sm = SoundManager.quickStart();
sm.play(SS, "/sounds/mysound.wav");

我想使用 CreateSound,因为我想先预加载音频。在第一个代码块中我做错了什么吗?

谢谢

4

1 回答 1

1

看起来您的代码没有任何问题。唯一可能发生的事情是 SoundManager 在调用 createSound() 之前可能没有完全加载。

理想情况下,您调用 quickStart() 并且在调用诸如在 soundManager 实例上播放或创建声音之类的函数之后的某个时间。当 SoundManager 准备就绪时,可以使用 onReady() 函数触发回调来通知您。

如果您仍然遇到此问题,请在 github 页面上打开一个问题。还有一个新创建的示例项目,可以在https://github.com/rcaloras/gwt-soundmanager2-example找到。

于 2012-10-09T01:52:07.170 回答