Online-MP3 abspielen

1023
Mohsen

Ich habe ein Problem mit dem Abspielen von Online-MP3s. Ich verwende die neueste Version von javazoom's jlayer und basicplayer. Hier ist die Ausnahme:

Verursacht durch: javazoom.jlgui.basicplayer.BasicPlayerException: java.io.EOFException at javazoom.jlgui.basicplayer.BasicPlayer.initAudioInputStream (unbekannte Quelle) at javazoom.jlgui.basicplayer.BasicPlayer.open (unbekannte Quelle) ... noch 12 Verursacht durch: java.io.EOFException bei java.io.DataInputStream.readInt (DataInputStream.java:375) um com.sun.media.sound.WaveFileReader.getFMT (WaveFileReader.java:244) at com.sun.media.sound.WaveFileReader.getAudioFileFormat (WaveFileReader.java:85) at javax.sound.sampled.AudioSystem.getAudioFileFormat (AudioSystem.java:985) at javazoom.jlgui.basicplayer.BasicPlayer.initAudioInputStream (unbekannte Quelle) ... noch 15 

Meine Java ist 1.6.0_16.

Bestimmte Dateien können nicht über das Internet abgespielt werden. Ich habe eine Reihe von MP3s, die nacheinander abgespielt werden. Zufällig funktioniert ein MP3 nicht über der Ausnahme. Einige mp3s können durch erneutes Aufrufen der play () -Methode des Grundspielers von javazoom abgespielt werden, andere können jedoch niemals online gespielt werden.

Ich konnte diesen Beitrag finden, bezweifle aber, ob sich dies wirklich auf meine DirectX-Version bezieht.

Mohsen

2

3 Antworten auf die Frage

0

Wenn Sie über HTTP streamen, scheint der Webserver die Verbindung sofort zu schließen, ohne Daten zu liefern. Einige Server, die MP3 über HTTP bereitstellen, werten die Anforderungsheader aus, um zu verhindern, dass Werkzeuge den Medienstrom nutzen, und liefern beispielsweise nur Inhalte, wenn die Anforderungsheader mit einem bekannten Mediaplayer übereinstimmen. Wenn Sie über ein Netzwerk-Sniffing-Tool verfügen und einen Media Player kennen, der mit dem Server arbeitet, von dem Sie Inhalte abrufen möchten, können Sie die HTTP-Anforderungsheader in Ihrem Java-Programm festlegen, sodass der Server denkt, dass Sie ihn verwenden der normale Mediaplayer.

Der Server ist Apache2, aber der Anforderungsheader kann nicht die Ursache des Problems sein, da bestimmte MP3-Dateien zufällig funktionieren und nicht funktionieren. vor 14 Jahren 0
0
Dean J

Können Sie die Datei unter dieser URL herunterladen?

EOF ist "Dateiende". Es geht um den Stream, oder es gibt einfach keine Datei, die dort abgerufen werden kann.

Ja, ich kann, und der Player funktioniert gut, wenn Sie dieselbe Datei offline abspielen. vor 14 Jahren 0
-1
cjstehno

Ich hatte ähnliche Probleme, wenn die Eingabe- oder Ausgabeströme nicht ordnungsgemäß verwaltet werden. Umschließen Sie alles in try / catch / final und schließen Sie alle Streams ordnungsgemäß.

Einige können funktionieren, wenn Sie Glück haben und der Puffer den gesamten Inhalt erhält.

Sie können auch versuchen, den Eingabestrom zu leeren (.flush ()).

Hoffe das hilft.

-1: Dies ist kein Programm, das er selbst erstellt hat. Wuffers vor 13 Jahren 0