我只是尝试使用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,因为我想先预先加载音频。在第一段代码中,我有什么问题吗?
由于
答案 0 :(得分:1)
看起来您的代码没有任何问题。唯一可能发生的事情是在调用createSound()之前,SoundManager可能没有完全加载。
理想情况下,在调用soundManager实例上播放或创建声音等功能后,您可以调用quickStart()。通过使用onReady()函数触发回调,可以在SoundManager准备就绪时收到通知。
如果您仍然遇到此问题,请在github页面上打开一个问题。还有一个新创建的示例项目,可以在https://github.com/rcaloras/gwt-soundmanager2-example找到。