Объект игрока J2ME зависает перед предварительной выборкой - PullRequest
1 голос
/ 04 декабря 2010

Я пытаюсь написать код в J2ME для Nokia SDK (устройство S60) и использую Eclipse.

Код пытается воспроизвести некоторые wav-файлы, расположенные в каталоге res проекта.Код выглядит следующим образом:

InputStream in1 = null;
        System.out.println("ABout to play voice:" + i);
        try {
            System.out.println("Getting the resource as stream.");
            in1 = getClass().getResourceAsStream(getsound(i));
            System.out.println("Got the resouce. Moving to get a player");
        }
        catch(Exception e) {
            e.printStackTrace();
        }
        try {
            player = Manager.createPlayer(in1, "audio/x-wav");
            System.out.println("Created player.");
            //player.realize();
            //System.out.println("Realized the player.");
            if(player.getState() != player.REALIZED) {
                System.out.println("The player has been realized.");
                player.realize();
            }
            player.prefetch();
            System.out.println("Fetched player. Now starting to play sound.");
            player.start();
            in1.close();
            int i1 = player.getState();
            System.out.println("Player opened. Playing requested sound.");
            //player.deallocate();
            //System.out.println("Deallocated the player.");
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }

Где функция getSound возвращает строку, содержащую имя файла для воспроизведения.Это выглядит следующим образом:

private String getSound(int i) {
   switch(i) {  
     case 1: return "/x1.wav";
     case 2: return "/x2.wav";
   }
}

Моя проблема заключается в следующем: 1. Когда я пытаюсь добавить более 10 звуков, все приложение зависает прямо перед вызовом функции prefetch ().Вся система на некоторое время значительно замедляется.Затем мне нужно перезапустить приложение.
Я попытался отладить это, но пока не получил никаких решений.Было бы здорово, если бы я мог помочь с этим.

1 Ответ

1 голос
/ 25 января 2011

Проблема заключается в том, что эмулятор используется для проекта.На вкладке эмуляции в окне «Выполнить конфигурации» должно быть выбрано следующее устройство:

Группа: Nokia N97 SDK v1.0
Устройство: эмулятор S60

Переход к описанному выше с устройствперечисленные под Sun Java Wireless Toolkit решили проблему.

...