Sound über Internet Streamen

Hi zusammen,

ich habe neulich nach einem tutorial im Internet ein kleines Programm geschrieben, dass Sound für eine bestimmte Zeit aufnimmt und dann in eine Datei speichert. Jetzt ist meine Frage, wie kann ich diesen Sound von diesem Programm übers Netzwerk zu einem anderen Rechner streamen und wie empfängt der das ?

Mein Programm (Stopper nimmt blos einen Tastendruck zum Beenden auf):

import java.io.IOException;
import javax.sound.sampled.\*;

import java.io.File;

public class Record {

 SourceDataLine sourceDataLine;

 public static void main(String[] args) throws IOException, InterruptedException {
 TargetDataLine line = null;
 DataLine.Info info = new DataLine.Info(TargetDataLine.class, getAudioFormat());

 try {
 line = (TargetDataLine) AudioSystem.getLine(info);
 line.open(getAudioFormat());
 } catch (LineUnavailableException e) {
 e.printStackTrace();
 }

 line.start();
 AudioInputStream stream = new AudioInputStream(line);

 Stopper stopper = new Stopper(line, stream);
 stopper.start();

 File file = new File("C:/soundfile.wav");
 AudioSystem.write(stream, AudioFileFormat.Type.WAVE, file);


 System.out.println("Stopped...");
 System.in.read();


 }

 private static AudioFormat getAudioFormat() {
 AudioFormat.Encoding encoding = AudioFormat.Encoding.PCM\_UNSIGNED;

 float sampleRate = 8000.0F;
 int sampleSizeInBits = 8;
 int channels = 1;
 int frameSize = 1;
 int frameRate = 8000;
 boolean bigEndian = false;

 return new AudioFormat(encoding,
 sampleRate,
 sampleSizeInBits,
 channels,
 frameSize,
 frameRate,
 bigEndian);
 }
}

Hallo,

Im Prinzip brauchst du einen Server und ein Client.

Das Programm was du nun hast spielt den Server.

Der Server braucht einen Socket mit dem sich dein „neues“ Programm, also der Client, verbinden kann.

Der Server horcht dauerhaft seine Verbindungen auf den Socket ab, denn sobald sich ein Client verbinden will, muss der Server ja den Stream senden.

Der Server liest hierzu die Sounddatei in einen Stream ein und reicht diesen an den Client über den Socket weiter.

Lies hierzu am besten die JavaDocs von Oracle zum Socket und Stream Objekten.

Ich hoffe dir hilft die Antwort

Grüße

jo

Hi,

danke für die Antwort ich werd sie mir mal durchlesen