我正在尝试使用黑莓播放音频文件。 这一行 - clickplayer.realize();抛出异常 - “未捕获的异常:没有应用程序实例”。我不确定为什么要扔这个?
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
AudioPlayback a = new AudioPlayback();
a.play();
}
});
这是AudioPlayback类 -
public class AudioPlayback {
public void play(){
try {
Player clickplayer = null;
InputStream instream = getClass().getResourceAsStream("/jingle.wav");
clickplayer = Manager.createPlayer(instream, "audio/x-wav");
clickplayer.realize();
clickplayer.setLoopCount(1);
VolumeControl vc = (VolumeControl) clickplayer.getControl("VolumeControl");
if (vc != null)
vc.setLevel(100);
clickplayer.prefetch();
clickplayer.setMediaTime(0);
clickplayer.start();
}
catch(Exception e){
e.printStackTrace();
}
}
答案 0 :(得分:1)
原来我需要在尝试播放声音之前注册事件调度程序。下面的代码修复了Driver是我自己的扩展UiApplication的类的问题。
Driver theApp = new Driver();
theApp.enterEventDispatcher();