Hallo liebe Experten, ich bin noch Schüler und programmiere gerne hobbymäßig in Java. Habe mich nun einige Zeit mit Java auseinadergesetzt und versuche mich gereade an einem Musik-Stremig Projekt über das (wlan)netzwerk.
bisher funktioniert alles hervorragend mit .wav-Datein. bei den Wav-Dateien kam ich ohne externe Bibliotheken aus und konnte die Daten entweder mit:
senden und dann abspielen :
oder "streamen über":
Wie gesagt, hat das sehr gut mit .wav dateien geklappt, beim Versuch eine .mp3 Datei abzuspielen höre ich nur rauschen. Ich habe etwas im Netz gesucht und bin auf javazoom.net auf "JLayer" gestoßen der sehr nützliche fuktionen zum aspielen/decodieren von .mp3 Dateien bietet. Habe es auch hinbekommen mithilfe des JLayers .mp3-Datein abzuspielen, beim streamen komme ich aber leider nicht weiter.
Es wäre natürlich sehr gut, wenn es eine funktion gäbe mit der man den .mp3-byte[] in ein .wav-byte[] umwandeln könnte und den dann per line.write(); abspielen könnte oder noch besser den .map3-byte[] dirket abspielen. Die Convertierung sollte auch bezüglich der Verzögerung keine Probleme machen, denn der buffer ist ledeglich byte[1024] groß.
Mit freundlichen Grüßen, Daniel
bisher funktioniert alles hervorragend mit .wav-Datein. bei den Wav-Dateien kam ich ohne externe Bibliotheken aus und konnte die Daten entweder mit:
Java:
Socket serverSocket = new Socket(serverIP, port);
OutputStream outStream = serverSocket.getOutputStream();
outStream.write(data, 0, data.length);
outStream.flush();
ServerSocket.close();
senden und dann abspielen :
Java:
clip = AudioSystem.getClip();
clip.open(audioFormat, musicData, 0, musicData.length);
clip.start();
oder "streamen über":
Java:
int bufferSize = 1024;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte byteBuffer[] = new byte[bufferSize];
for(int i = 0; i != -1; i = CSSocket.getInputStream().read(byteBuffer)) {
System.out.println("Receiving Byte: " + baos.size());
baos.write(byteBuffer, 0, byteBuffer.length);
line.write(byteBuffer, 0, byteBuffer.length);
}
Wie gesagt, hat das sehr gut mit .wav dateien geklappt, beim Versuch eine .mp3 Datei abzuspielen höre ich nur rauschen. Ich habe etwas im Netz gesucht und bin auf javazoom.net auf "JLayer" gestoßen der sehr nützliche fuktionen zum aspielen/decodieren von .mp3 Dateien bietet. Habe es auch hinbekommen mithilfe des JLayers .mp3-Datein abzuspielen, beim streamen komme ich aber leider nicht weiter.
Es wäre natürlich sehr gut, wenn es eine funktion gäbe mit der man den .mp3-byte[] in ein .wav-byte[] umwandeln könnte und den dann per line.write(); abspielen könnte oder noch besser den .map3-byte[] dirket abspielen. Die Convertierung sollte auch bezüglich der Verzögerung keine Probleme machen, denn der buffer ist ledeglich byte[1024] groß.
Mit freundlichen Grüßen, Daniel