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] には com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:248 にメソッド 'toLowerCase' がありません) 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

コードに問題があるようには見えません。発生する可能性がある唯一のことは、createSound()を呼び出す前にSoundManagerが完全にロードされていない可能性があることです。

理想的には、quickStart()を呼び出し、soundManagerインスタンスで再生やサウンドの作成などの関数を呼び出した後で呼び出します。onReady()関数を使用してコールバックを起動することにより、SoundManagerの準備ができたときに通知を受け取ることができます。

それでもこの問題が発生する場合は、githubページで問題を開いてください。新しく作成されたサンプルプロジェクトもあります。これはhttps://github.com/rcaloras/gwt-soundmanager2-exampleにあります。

于 2012-10-09T01:52:07.170 に答える