GWT SoundManager 2 play()抛出异常

时间:2012-08-31 09:03:32

标签: java gwt audio soundmanager2

我只是尝试使用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]没有方法'toLowerCase'     在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,因为我想先预先加载音频。在第一段代码中,我有什么问题吗?

由于

1 个答案:

答案 0 :(得分:1)

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

理想情况下,在调用soundManager实例上播放或创建声音等功能后,您可以调用quickStart()。通过使用onReady()函数触发回调,可以在SoundManager准备就绪时收到通知。

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