Я пишу небольшое приложение для воспроизведения потока shoutcast и использую javazoom.jl.player.Player для этого. Вот мой код:
package music;
import java.io.InputStream;
import java.net.URL;
import javazoom.jl.player.Player;
class audiostream extends Thread {
private Player mediafilePlayer;
private volatile boolean shouldPlay = true;
@Override
public void run() {
while (true) {
if (shouldPlay) {
player();
}
}
}
public void player() {
try {
URL mediafile = new URL("http://hi1.streamingsoundtracks.com:8000/;");
InputStream stream = mediafile.openStream();
mediafilePlayer = new Player(stream);
mediafilePlayer.play();
} catch (Exception e) {
System.out.println(e);
}
}
public void pause() {
shouldPlay = false;
mediafilePlayer.close();
}
public void play() {
shouldPlay = true;
}
}
Это прекрасно работает на моем Mac, и я слышу поток. Однако в Windows, когда я пытаюсь запустить это, я получаю сообщение об ошибке «java.io.IOException: Invalid Http response». Я верю , это потому, что SHOUTcast возвращает ледяные 200 ok заголовков, причем что-то в Windows должно хотеть, чтобы оно возвращало http заголовки Я не могу найти, как заставить его принимать эти разные заголовки в окнах с помощью javazoom Player.