2015-10-27 100 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网站上的文件转换成我想使用的文件,然后使用流式处理。

注意:此解决方案非常嘈杂。我正在研究如何解决这个问题。