我正在尝试使用黑莓机播放音频文件。
这行-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();
}
}
最佳答案
事实证明,在尝试播放声音之前,我需要注册事件分发程序。下面的代码解决了Driver是我自己的扩展UiApplication的类的问题。
Driver theApp = new Driver();
theApp.enterEventDispatcher();