2015-09-28 109 views
0

我正在计划制作一款Android应用程序,其中用户使用麦克风说话,并且使用同一个应用程序通过WIFI同时将音频传输到其他设备。 我看着如何使用AndroidRecord,AndroidTrack和所有,但我不知道如何通过WIFI将音频传输到其他设备?我可以用什么来实现这个? 看着各种网站和阅读关于数据报包和套接字,仍然看起来很混乱! 希望所有的帮助!在Android中通过WIFI网络连续发送音频数据

回答

0

你可以使用一个简单的p2p架构。

我假设你有一些网络知识。

您将需要使用thisthis和一对适用于您需要发送的数据类型的数据流,如this

在发送方:

Socket s = new Socket(IP,PORT); 
s.connect(); 
DataOutputStream dos = new DataOutputStream(s.getOutputStream()); 
dos.write("hello".toByteArray()); 

然后在接收端:

ServerSocket ss = new ServerSocket(PORT); 
Socket s = ss.accept(); //This call will block execution, use separate thread 
DataInputStream dis = new DataInputStream(s.getInputStream); 
byte[] data = dis.read(); 

有了这个,你可以发送和接收的字节,只需使用与您的数据类型的工作流。

当然,一旦建立连接,两个客户端都可以发送/写入,只需制作适当的输入/输出流。

希望这会有所帮助。

+0

我猜你从来没有通过不可靠的网络尝试过音频,对吗? – marko

+0

从来没有,只是指出如何使用TCP套接字来传输数据,如果它实现了一个缓冲区,它不需要生活它不应该工作如此糟糕的权利? – Nanoc