Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Main;
- import java.net.DatagramPacket;
- import java.net.DatagramSocket;
- import java.net.InetAddress;
- import java.util.Base64;
- import javax.sound.sampled.AudioFormat;
- import javax.sound.sampled.AudioSystem;
- import javax.sound.sampled.DataLine;
- import javax.sound.sampled.SourceDataLine;
- import javax.sound.sampled.TargetDataLine;
- public class main {
- static DatagramSocket Client = null;
- static String RHost = "127.0.0.1:2600";
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- try {
- AudioFormat format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100, 16, 2, 4, 44100, false);
- Client = new DatagramSocket(2600);
- Thread t = new Thread(new Runnable() { public void run() {
- try {
- DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);
- TargetDataLine targetLine = (TargetDataLine) AudioSystem.getLine(info);
- targetLine.open();
- targetLine.start();
- byte[] targetData = new byte[targetLine.getBufferSize() / 5];
- while(!Client.isClosed()) {
- try {
- targetLine.read(targetData, 0, targetData.length);
- String A1 = "|"+Base64.getEncoder().encodeToString(targetData) + "|";
- DatagramPacket sendPacket = new DatagramPacket(A1.getBytes(),0, A1.getBytes().length, InetAddress.getByName(RHost.split(":")[0]), Integer.parseInt(RHost.split(":")[1]));
- Client.send(sendPacket);
- }catch(Exception e) {}
- }
- }catch(Exception e) {}
- }});
- t.start();
- DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
- SourceDataLine sourceLine = (SourceDataLine) AudioSystem.getLine(info);
- sourceLine.open();
- sourceLine.start();
- while(true) {
- try {
- byte[] receiveData = new byte[204800];
- DatagramPacket receivePacket = new DatagramPacket(receiveData,0, receiveData.length);
- Client.receive(receivePacket);
- String RawData = new String((receivePacket.getData()));
- InetAddress IPAddress = receivePacket.getAddress();
- int port = receivePacket.getPort();
- String RHost = IPAddress.toString().replace("/", "") + ":" + port;
- byte[] d1=Base64.getDecoder().decode(RawData.split("\\|")[1]);
- sourceLine.write(d1,0,d1.length);
- }catch(Exception e) {}
- }
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement