好吧所以我正在使用常规音频播放器gui处理程序,但它可以选择将当前播放的歌曲转换为字节[]并将其发送到客户端,然后将其转换回一个mp3文件并播放。不是流媒体而是实时FTP。但是,我似乎无法发送数据包,并且接收器创建一个大小为0kb的空白mp3文件。什么也没有写,并且为什么会发生这种情况。帮忙。
import java.io.*;
import java.net.*;
import java.lang.*;
import java.util.*;
import javazoom.jl.player.*;
import org.apache.commons.io.IOUtils;
import java.applet.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Send {
public String address;
public int port;
public byte[] b;
public Send(String a, int p)
{
a = address;
p = port;
try
{
System.out.println("Server started");
System.out.println(b.length);
ServerSocket ss = new ServerSocket(2345);
Socket socket = ss.accept();
System.out.println("Waiting for client to connect...");
if(socket.isConnected())
{
System.out.println("Client connected");
}
OutputStream out = socket.getOutputStream();
DataOutputStream dos = new DataOutputStream(out);
if(b.length > 1)
{
dos.write(b);
dos.flush();
dos.close();
}
}catch(Exception e){}
}
}
这是接收器类,有一个完整的gui与此同时但我不会添加垃圾,除非你认为它会有所帮助。
import java.io.*;
import java.net.*;
import java.lang.*;
import java.util.*;
import javazoom.jl.player.*;
import org.apache.commons.io.IOUtils;
public class Recieve {
String host = "localhost";
int port = 2345;
byte[] inFile;
public File file;
public static Socket socket;
public Recieve()
{
System.out.println("Waiting to connect to server..");
try
{
socket = new Socket(host,port);
if(socket.isConnected())
{
System.out.println("Connected to server on "+host+": "+port);
}
file = new File("H:\\Song.mp3");
InputStream is = socket.getInputStream();
FileOutputStream fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos);
int bytesRead = is.read(inFile, 0, inFile.length);
bos.write(inFile, 0, bytesRead);
bos.close();
FileOutputStream fop = new FileOutputStream(file);
fop.write(inFile);
fop.flush();
fop.close();
Playmusic play = new Playmusic(file);
Thread one = new Thread(play);
one.start();
if(file.length() < 2)
{
file.delete();
}
}catch(Exception e){System.out.println("ERROR ON STREAM "+e.getMessage());}
}
}