2012-08-29 105 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