我正在尝试使用黑莓机播放音频文件。
这行-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();

10-06 09:09