Відтворення Інтернет-mp3


2

У мене є проблема з відтворенням онлайн-mp3-файлів. Я використовую останню версію jlayer і basicplayer javazoom. Ось виняток:

Викликано: javazoom.jlgui.basicplayer.BasicPlayerException: java.io.EOFException
    at javazoom.jlgui.basicplayer.BasicPlayer.initAudioInputStream (невідоме джерело)
    at javazoom.jlgui.basicplayer.BasicPlayer.open (невідоме джерело)
    ... ще 12
Викликано: java.io.EOFException
    на java.io.DataInputStream.readInt (DataInputStream.java:375)
    на com.sun.media.sound.WaveFileReader.getFMT (WaveFileReader.java:244)
    на com.sun.media.sound.WaveFileReader.getAudioFileFormat (WaveFileReader.java:85)
    на javax.sound.sampled.AudioSystem.getAudioFileFormat (AudioSystem.java:985)
    at javazoom.jlgui.basicplayer.BasicPlayer.initAudioInputStream (невідоме джерело)
    ... ще 15

Моя Java - 1.6.0_16.

Певні файли не можуть бути відтворені через Інтернет. У мене є набір mp3, які грають одна за одною. Випадково одна mp3 не спрацьовує над винятком. Деякі mp3-файли можна відтворити, зателефонувавши знову методом play (), якщо основний плеєр javazoom, а інші ніколи не можна відтворювати в Інтернеті.

Мені вдалося знайти цю публікацію, але я сумніваюся, чи справді це стосується моєї версії directx чи чогось іншого.

Мохсен

Відповіді:


0

Якщо ви протікаєте через HTTP, веб-сервер, здається, негайно закриває з’єднання, не передаючи жодних даних. Деякі сервери, що надають MP3 через HTTP, оцінюють заголовки запитів, намагаючись запобігти захопленню медіапотоку інструментів і, наприклад, доставлять вміст лише у тому випадку, якщо заголовки запитів відповідають відомому медіаплеєру. Якщо у вас є мережевий інструмент нюхання та ви знаєте медіаплеєр, який працює з сервером, з якого ви намагаєтеся отримати вміст, ви, звичайно, можете встановити заголовки запиту HTTP у вашій програмі Java, щоб сервер вважав, що ви використовуєте звичайний медіаплеєр.


Сервер є apache2, але заголовок запиту не може бути джерелом проблеми, оскільки певний MP3 випадковим чином працює і не працює.

0

Чи можете ви завантажити файл за цією URL-адресою?

EOF - це "кінець файлу". Це втрачає потік, або там просто немає файлу, який можна отримати.


Так, я можу, і програвач добре працює, коли відтворює один і той же файл офлайн.

-1

У мене виникли подібні проблеми, коли вхідні або вихідні потоки не керуються належним чином ... чи все ви завертаєте в спробу / ловити / нарешті і правильно закривати всі потоки?

Деякі можуть спрацювати, якщо вам пощастить, і буфер отримує весь вміст.

Ви також можете спробувати промити вхідний потік (.flush ()).

Сподіваюсь, це допомагає.


-1: Це не програма, яку він створив сам.
Wuffers
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.