Я пытаюсь написать код в 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 ().Вся система на некоторое время значительно замедляется.Затем мне нужно перезапустить приложение.
Я попытался отладить это, но пока не получил никаких решений.Было бы здорово, если бы я мог помочь с этим.