2015-10-27 139 views
1

我試圖將一些Android手機連接在一起以傳輸音樂。如何通過藍牙通過多個手機流式傳輸音樂

的設置是這樣的,

手機連接到電話B.

電話B也連接到電話C.

A <--> B <--> C 

我想從A串流音樂通過B改爲C,並只在C上收聽。

我已經看過A2DP(here),但它似乎一次只支持一個設備。

有沒有辦法使用A2DP流到B然後發送到C

我試圖想出一個解決方案,不涉及將文件從A保存到B,然後使用A2DP進行流式處理。文件可能很大,播放前的延遲時間應該很短。

是否有方法將文件流式傳輸,然後使用A2DP將B流發送到C

藍牙還有其他流選項嗎?或其他流類可以嘗試和使用一旦數據在B

感謝

+0

除了通過藍牙使用串行連接並編寫自己的流媒體協議,如果可能的話,我會非常驚訝。 –

+0

我已經開始這樣做了,但我真的希望利用存在的東西。 – Dan

回答

0

我發現AudioTrack類,我覺得有點這解決了我的問題。

我可以使用BluetoothSocketBluetoothServerSocket將音樂文件作爲byte[]發送到需要的電話上。

一旦我到達最後的手機,我創建一個AudioTrack對象,並將字節寫入它並以流的形式播放音樂。

唯一的限制是文件必須是.wav文件,並且具有特定的位分辨率,採樣率和通道設置。一旦我決定要支持哪一個,我只需將this網站上的文件轉換成我想使用的文件,然後使用流式處理。

注意:此解決方案非常嘈雜。我正在研究如何解決這個問題。