Ошибка "Недостаточно памяти" в Nokia 5610 при загрузке файла MP3
Я разрабатываю одно приложение 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 ответа
Возможно, вы захотите попробовать "аудио /wav" вместо "аудио /x-wav".
Я бы также предложил использовать URL-адрес FileConnection (Manager.createPlayer("file://localhost/E:/MyFolder/Child.mp3");
например), поскольку это обычно работает лучше, чем проигрыватели, созданные с помощью InputStream на телефонах Series40.
Имеет ли это какое-то значение, если вы звоните player.prefetch();
до player.start();
? Все примеры, которые я видел ранее, сделаны таким образом.
Также попробуйте использовать MIME-тип audio/mp3
вместо этого, если audio/mpeg
не работает
По мне, ваш код правильный.
Я получаю сообщение об ошибке "Звук не разрешен", потому что телефон был в беззвучном режиме, и я пытался его воспроизвести. Вы уверены, что ваш телефон не находится в беззвучном режиме во время выполнения вашего кода?
Наиболее точный источник для 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) {}
}