2012-08-31 3 views
0

GWT-SoundManager2를 사용하여 잡음을 발생 시키려고했습니다. 난 그냥 다음과 같은 간단한 코드를 시도 :GWT SoundManager 2 play() 예외 예외

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

을하지만 예외가 발생합니다 : com.google.gwt.core.client.JavaScriptException :에 의한

(형식 오류) : 개체 [ 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). 내가 다음에 변경하는 경우 com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid에서 invokeNativeVoid (ModuleSpace.java:289) (JavaScriptHost.java:107)

그러나, 그것은 작동합니다

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

먼저 오디오를 미리 불러 오기 때문에 CreateSound를 사용하고 싶습니다. 첫 번째 코드 블록에서 내가 잘못한 점이 있습니까?

감사합니다.

답변

1

코드에 문제가없는 것처럼 보입니다. 일어날 수있는 유일한 일은 SoundManager가 createSound()를 호출하기 전에 완전히로드되지 않았을 수 있다는 것입니다.

soundManager 인스턴스에서 재생 또는 사운드 만들기와 같은 기능을 호출 한 후 quickstart()를 호출하고 가끔씩 호출하는 것이 가장 이상적입니다. onReady() 함수를 사용하여 콜백을 시작하여 SoundManager가 준비되면 알림을받을 수 있습니다.

이 문제가 계속되는 경우 github 페이지에서 문제를여십시오. https://github.com/rcaloras/gwt-soundmanager2-example에 새로 생성 된 예제 프로젝트가 있습니다.

+0

정확히 예외를 throw하는 이유입니다. 고맙습니다!!!! – Joey