2012-08-29 107 views
2

我可以使用CoreBluetooth框架将音频流从一个iOS设备传输到其他iOS设备(例如从4s到新iPad)。也许BLE对于媒体流来说太慢了?CoreBluetooth和音频流

回答

7

蓝牙低功耗(BLE)不用于流数据!

如果你想要流,你必须使用蓝牙2.X + EDR和适当的配置文件。因此,如果您想流式传输音频,您需要耳机或A2DP配置文件。

CoreBluetooth API只允许访问BLE设备。

+1

因此,如果我想要使用经典的蓝牙而不是低能耗,我可以使用哪些sdk? –

+1

在这种情况下,必须是一个强词。维基百科指定的吞吐量为0.26 Mbit/s(http://en.wikipedia.org/wiki/Bluetooth_low_energy#Technical_details),为什么不使用音频?另外,Apple并未指定您允许通过BLE发送的内容。 – Grav

+0

遗憾的是,iOS对于您的程序中可能使用的Bluetooth Classic配置文件有着极大的限制,因此实际上您有三种选择:1)拥有大量金钱并参与MFi计划2)使用免提配置文件, )尝试通过BLE进行流式传输。 – MrTJ

5

因为BLE每次可以传输20个字节的数据包,所以在iOS5上的每次传输之间有37.5ms的延迟,音频流将无法正常工作。所以这会很慢,并且没用。总是有缓冲数据的可能性,但最终,这不是流式传输音频的好方法。

|packet| --- 37.5ms --- |packet| --- 37.5ms --- |packet... 
+1

我能够在超过一分钟的时间内以每秒20次的速度发送32位值,延迟时间为10毫秒左右。这似乎与你的帖子不一致?此外,维基百科(http://en.wikipedia.org/wiki/Bluetooth_low_energy#Technical_details)指定了大约6毫秒的延迟,这似乎与我的经验更加一致。 – Grav

+0

是的,但正如我所说的,IOS5不允许延迟时间低于37.5ms,不关心BLE标准 – chwi

+1

好吧,我的实验是在iOS 6下进行的。在那里似乎有所改进。 – Grav