abgerufen werden. Ich möchte die Audiodatei unter der im Code angegebenen URL abrufen und wiedergeben (im Format mp3
). Ich habe einige Stack Overflow-Fragen zu diesem Problem durchgesehen, und alle sagten, dass sie mp3plugin.jar
bekommen würden.Audio-Eingangsstrom konnte nicht vom Eingangsstrom
In Eclipse habe ich es unter Build Build Path als externen Krug (wie es in meinem Downloads-Ordner befindet, nicht sicher, ob das der beste Ort dafür ist) hinzugefügt. Ich lief es wieder und es ist immer noch mir diesen Fehler geben:
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at Starter.main(Starter.java:21)
Hier ist der Code:
public class Starter {
public static void main(String[] args) {
AudioInputStream din = null;
try {
URL url = new URL("http://c5.rbxcdn.com/2e6d33a5b3b1d8f250c395816ff9f145");
HttpURLConnection httpcon = (HttpURLConnection) url.openConnection();
InputStream bufferedIn = new BufferedInputStream(httpcon.getInputStream());
AudioInputStream in = AudioSystem.getAudioInputStream(bufferedIn);
AudioFormat baseFormat = in.getFormat();
AudioFormat decodedFormat = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED,
baseFormat.getSampleRate(), 16, baseFormat.getChannels(),
baseFormat.getChannels() * 2, baseFormat.getSampleRate(),
false);
din = AudioSystem.getAudioInputStream(decodedFormat, in);
DataLine.Info info = new DataLine.Info(SourceDataLine.class, decodedFormat);
SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info);
if(line != null) {
line.open(decodedFormat);
byte[] data = new byte[4096];
// Start
line.start();
int nBytesRead;
while ((nBytesRead = din.read(data, 0, data.length)) != -1) {
line.write(data, 0, nBytesRead);
}
// Stop
line.drain();
line.stop();
line.close();
din.close();
}
}
catch(Exception e) {
e.printStackTrace();
}
finally {
if(din != null) {
try { din.close(); } catch(IOException e) { }
}
}
}
}
Haben Sie schon einmal überprüft, was Sie lesen? Möglicherweise behandeln Sie eine HTML-Fehlerseite als MP3. – Marged
Als ich diese URL zu meinem Chrome-Konto eingegeben habe, habe ich zwei Zeilen im Netzwerk-Tab gesehen. Es könnte einige Header mehr benötigen, um Ihnen den tatsächlichen Stream zu geben – Gavriel
Wie würde ich den Media-Teil davon bekommen? (Es sagt Dokument und Medien). Ich habe gehört, dass jSoup helfen kann, etwas HTML-Behandlung in Java zu behandeln. –