Я пытаюсь воспроизвести MP3 и получаю неожиданные ошибки.
Я проверил свое приложение до 3 дней
, который отлично работал на моем устройстве
но теперь даже тот же самый файл jar дает мне следующую ошибку.
javax.microedition.midlet.MediaException:Sounds not allowed
появляется ошибка при выполнении этой строки
player.prefetch ()
Я тестирую это приложение на Nokia 5200 и Nokia 5130
в чем может быть проблема?
Пожалуйста, ведите меня.
Ниже приведен мой код.
public class PlayAudioMidlet extends MIDlet {
private Display display;
AudioPlayer ap;
public void startApp() {
display = Display.getDisplay(this);
ap = new AudioPlayer(this, display);
display.setCurrent(ap); // display a subclass of Form named as AudioPlayer
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
}
class AudioPlayer extends Form
implements CommandListener, PlayerListener {
PlayAudioMidlet midlet;
private Display display;
private Command play, stop, exit, forward, backward;
private Player player;
public AudioPlayer(PlayAudioMidlet midlet, Display display) {
super("");
this.midlet = midlet;
this.display = Display.getDisplay(midlet);
play = new Command("Play", Command.OK, 0);
stop = new Command("Stop", Command.STOP, 0);
exit = new Command("Exit", Command.EXIT, 0);
addCommand(play);
addCommand(stop);
addCommand(forward);
addCommand(backward);
addCommand(exit);
setCommandListener(this);
}
public void commandAction(Command c, Displayable d) {
if (c == play) {
try {
//System.out.println(System.currentTimeMillis());
playAudio();
} catch (Exception e) {
e.printStackTrace();
}
} else if (c == stop) {
player.close();
}
}
public void playerUpdate(Player player, String event, Object eventData) {
}
public void playAudio() {
int i = 0;
try {
**//Even this commented line doesn't work
//player = Manager.createPlayer(getClass().getResourceAsStream("/res/alert.mp3"), "audio/mpeg");
player = Manager.createPlayer("file:///E:/Sound/alert1.mp3");**
player.addPlayerListener(this);
// player.setLoopCount(-1);
player.prefetch();
player.realize();
player.start();
} catch (Exception e) {
Alert a = new Alert("");
a.setString("Error "+e.toString());
a.setTimeout(Alert.FOREVER);
display.setCurrent(a);
}
}
}