2

Can I transfer audio stream from one iOS device to other iOS device (for example from 4s to new iPad) using CoreBluetooth framework. Maybe BLE is too slow fo media streaming?

ThomasW
  • 16,981
  • 4
  • 79
  • 106
toohtik
  • 1,892
  • 11
  • 27

2 Answers2

8

Bluetooth Low Energy (BLE) is not intended to stream data !

If you want to a stream you MUST use Bluetooth 2.X+EDR and an appropriate profile. Therefore, if you want to stream audio, you need a headset or A2DP profile.

CoreBluetooth API give only access to BLE devices.

  • 1
    So if I want to use classic Bluetooth instead of Low Energy, what sdk I can use? – Bagusflyer Oct 19 '12 at 07:07
  • 1
    MUST is a strong word in this case. Wikipedia specifies a throughput of 0.26 Mbit/s (http://en.wikipedia.org/wiki/Bluetooth_low_energy#Technical_details), so why not audio? Also, Apple does not specify what you're allowed to send via BLE. – Grav Oct 25 '12 at 15:39
  • Pity that iOS has extreme restrictions on what Bluetooth Classic profiles you may use from your program so practically you have three choice: 1) have a LOT of money and go for MFi program 2) use Handsfree profile for what it is not intended for 3) try to do streaming over BLE. – MrTJ Nov 06 '15 at 14:45
5

Audio streaming wont work any good, since BLE can stream 20 byte packets at a time, with 37.5ms delay between each transfer on iOS5. So this would be laggy and as good as useless. There is always the possibility of buffering the data, but in the end, this is not a good way to stream audio.

|packet| --- 37.5ms --- |packet| --- 37.5ms --- |packet...
chwi
  • 2,752
  • 2
  • 41
  • 66
  • 1
    I was able to send a 32 bit value 20 times per second with around 10 ms of latency over a period of more than a minute. This does not seem consistent with your post? Also, Wikipedia (http://en.wikipedia.org/wiki/Bluetooth_low_energy#Technical_details) specifies a latency of around 6 ms, which seems more consistent with my experience. – Grav Oct 25 '12 at 15:37
  • Yes, but as I said, IOS5 doesn't allow for any less latency than 37.5ms, not caring about the BLE standard – chwi Oct 25 '12 at 19:05
  • 1
    Ok, my experiments were with iOS 6. It seems to have improved there. – Grav Oct 30 '12 at 08:31
  • Yes, iOS6 has better connection intervals – chwi Feb 12 '13 at 10:28