2010-06-07 2 views
0

Я делаю мидлет, который будет использоваться для воспроизведения локальных аудиофайлов. Очевидно, что он не работает. Я получаю нулевую ссылку на переменную «is» в приведенном ниже фрагменте кода.Проблемы с воспроизведением аудиофайлов в мидме JME

1. try{ 
2. System.out.println("path: " + this.getClass()); 
3. InputStream is = this.getClass().getResourceAsStream("res/01Track.wav"); 
4. p1=Manager.createPlayer(is, "audio"); 
5. p1.realize();    
6. p1.prefetch(); 
7. p1.start(); 
8. } 
9. catch(Exception e){ 
10. System.out.println(e.getMessage()); 
11. } 

Я предполагаю, что есть что-то не так с «this.getClass(). GetResourceAsStream (» Рез/01Track.wav «)» немного, но я не могу за жизнь мне понять, почему, и я попытались обратиться к файлу 20 различными способами.

Если я печатаю «this.getClass()« это дает мне «путь: класс Mp3spiller». Абсолютным путем к «01Track.wav» является «E: \ Mine dokumenter \ Dokumenter \ workspace_mobiljava \ Mp3spiller \ res \ 01Track.wav". Я совершенно не прав, думая, что я должен относиться к «E: \ Mine dokumenter \ Dokumenter \ workspace_mobiljava \ Mp3spiller"?

Если бы кто-нибудь мог указать, что я делаю неправильно, я был бы благодарен. Я в основном украл код из учебника, который я нашел в Интернете, поэтому я бы подумал, что он будет работать.

+0

whick IDE вы используете? затмение или небезопасность. – Vivart

+0

Я использую Eclipse. – ManWithAPlan

+0

попробуйте это InputStream is = this.getClass(). GetResourceAsStream ("/ 01Track.wav"); – Vivart

ответ

1

Инициализация игрока неверна ... Второй параметр принимает тип mime для воспроизводимого потока. , следовательно, он должен быть

p1=Manager.createPlayer(is, "audio/wav");

иначе все, кажется, хорошо ... если вы добавили папку Resouce согласно последнему замечанию Vivart в.

надеюсь, что это поможет ...