2015-09-28 135 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