Неопределенное исключение: нет экземпляра приложения (ежевика) - PullRequest
0 голосов
/ 03 мая 2011

Я пытаюсь воспроизвести аудиофайл, используя blackberry. Эта строка - 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();
        }

}

1 Ответ

1 голос
/ 03 мая 2011

Оказывается, мне нужно было зарегистрировать диспетчер событий, прежде чем пытаться воспроизвести звук. Ниже приведен код, исправляющий проблему, в которой драйвер - это мой собственный класс, расширяющий UiApplication.

Driver theApp = new Driver();
theApp.enterEventDispatcher();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...