Воспроизведение онлайн mp3

956
Mohsen

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

Вызывается: 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 или что-то.

Мохсен

2

3 ответа на вопрос

0

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

Сервер apache2, но заголовок запроса не может быть источником проблемы, так как определенный mp3 случайно работает и не работает. 14 лет назад 0
0
Dean J

Можете ли вы скачать файл по этому URL?

EOF это "конец файла". Он теряет поток, или там просто нет файла, чтобы получить.

Да, я могу, и проигрыватель хорошо работает при воспроизведении в автономном режиме того же файла. 14 лет назад 0
-1
cjstehno

У меня были похожие проблемы, когда потоки ввода или вывода не управлялись должным образом ... Вы все оборачиваете в try / catch / finally и правильно закрываете все потоки?

Некоторые могут работать, если вам повезет, и буфер получит весь контент.

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

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

-1: Это не программа, которую он сделал сам. Wuffers 13 лет назад 0

Похожие вопросы