Ошибка «Недостаточно памяти» в Nokia 5610 при загрузке файла MP3 - PullRequest
2 голосов
/ 02 ноября 2009

Я занимаюсь разработкой одного j2me-приложения для воспроизведения файлов wav и mp3.

проблемы:

  • при попытке воспроизвести mp3-файл на моем телефоне (nokia 5610d) возникает ошибка «Нет памяти».
  • при попытке воспроизвести файл WAV выдает исключение "Звуки не допускаются".

несколько строк моего кода здесь.

Код для воспроизведения файла WAV

InputStream is = getClass().getResourceAsStream("/Child.wav");
player = Manager.createPlayer(is, "audio/x-wav");

player.realize(); player.start();

Код для воспроизведения файла MP3

InputStream is = getClass().getResourceAsStream("/Child.mp3");<br/>
player = Manager.createPlayer(is, "audio/mpeg");

player.realize(); player.start();

Пожалуйста, дайте мне знать, в чем проблема в моем коде.

Ответы [ 4 ]

1 голос
/ 03 ноября 2009

Возможно, вы захотите попробовать «audio / wav» вместо «audio / x-wav».

Я бы также предложил использовать URL-адрес FileConnection (например, Manager.createPlayer("file://localhost/E:/MyFolder/Child.mp3");), поскольку он обычно работает лучше, чем проигрыватели, созданные с помощью InputStream на телефонах Series40.

0 голосов
/ 14 мая 2014

Наиболее точный источник для Nokia Series 40 без исключения (ошибка «Недостаточно памяти») при запуске непосредственно из файлов SD mp3 и других файлов, позволяющих использовать телефон:

import java.io.IOException;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.midlet.MIDlet;
public class pro extends MIDlet {
     public pro() throws IOException, MediaException {

     Player player = Manager.createPlayer("file:///E:/03.mp3");
     player.realize();
     player.start();

     }
  public void startApp() { }
  public void pauseApp() {}
  public void destroyApp(boolean unconditional) {}
}
0 голосов
/ 07 июня 2011

По-моему, ваш код правильный.

Я получаю сообщение об ошибке "Звук не разрешен", поскольку телефон находится в беззвучном режиме, и я пытался его воспроизвести. Вы уверены, что ваш телефон не находится в беззвучном режиме во время выполнения вашего кода?

0 голосов
/ 02 ноября 2009

Имеет ли значение, если вы позвоните player.prefetch(); до player.start();? Все примеры, которые я видел ранее, сделаны таким образом.

Также попробуйте вместо этого использовать mime-тип audio/mp3, если audio/mpeg не работает.

...