Tôi có hai chương trình đơn giản, máy chủ và máy khách, cả hai đều ở máy chủ cục bộ. Những gì tôi muốn làm là để streaming video từ máy chủ cho khách hàng thông qua ổ cắm và khách hàng có thể chơi nó bằng cách sử dụng filediscriptor của ổ cắm. Trước tiên, tôi cố gắng gửi một số tin nhắn và khách hàng có thể nhận được nó. Sau đó tôi gửi một vài byte video từ thẻ của máy chủ đến máy khách. Các khách hàng có thể nhận được những byte nhưng không thể chơi nó. Bất cứ ai cũng biết làm thế nào để giải quyết vấn đề?Truyền video qua ổ cắm và phát từ máy khách
Đây là máy chủ và mã khách hàng của tôi đoạn:
Server:
//Receive request from client.
Socket client=serversocket.accept();
System.out.println("accept");
//Receive client message.
BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
String str=in.readLine();
System.out.println("read:"+str);
//Send message to client.
//PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(client.getOutputStream())),true);
//out.println("server message");
FileInputStream fis=new FileInputStream("/sdcard/toystory3.3gp");
byte buffer[]=new byte[2000];
fis.read(buffer,0,20);
DataOutputStream out=new DataOutputStream(client.getOutputStream());
out.write(buffer,0,20);
in.close();
out.close();
client.close();
System.out.println("close");
Chủ đầu tư:
Socket socket=new Socket("127.0.0.1",4444);
String message="Initial"+"\r\n";
//Send message to server.
PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
out.println(message);
//Receive message from server.
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String msg=br.readLine();
//ParcelFileDescriptor pfd=ParcelFileDescriptor.fromSocket(socket);
//MediaPlayer m=new MediaPlayer();
//m.setDataSource(pfd.getFileDescriptor());
//m.prepare();
//m.start();
if(msg!=null)
{
System.out.println("Data received.");
System.out.println(msg);
}
else
{
System.out.println("Data not received.");
}
out.close();
br.close();
socket.close();
Có giao diện của tôi- http://stackoverflow.com/questions/6116880/stream-live-video-from-phone-to-phone-using-socket-fd/10260068#10260068 –