Проблемы с воспроизведением аудио файлов в мидлете JME - PullRequest
0 голосов
/ 07 июня 2010

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

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 (" res / 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»?

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

1 Ответ

1 голос
/ 14 июня 2010

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

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

в противном случае все выглядит нормально ... если вы добавили папку ресурсов в соответствии с Последний комментарий Виварта.

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

...