Is it possible AVRCP on BLE with iOS? - ios

I am working on the iOS app to control music player over Bluetooth LE. I have BLE enabled peripheral device (Wearable Watch) and it will act as a music remote controller. I came to know that AVRCP profile is the option provided by iOS to control music on iPhone, but this profile is based on classic Bluetooth profile(Not on BLE).
Edited:
Is there any way for controlling Music player using iOS BLE service?
Can Please provide me the suggestion to control music player (Play, Pause, Next and Previous) on iPhone using BLE service?
I was refer this links
What specs do I need to know to develop bluetooth (AVRCP 1.4) iPhone app
iOS Bluetooth dual-mode; connect BLE (GATT) to an already connected BR/EDR (A2DP/HFP) stereo headset simultaneously
What profile can I use with CoreBluetooth?
Please help me out.
Thanks in Advance.

AVRCP is a BR/EDR profile. It is not available on LE. LE only accepts the items listed in the GATT-Based Specifications part of adopted specifications page.
You could implement a HID profile (used for input devices) on your device, then you may send key presses for Play/Pause, Next, Previous, Volume up/down, Mute, etc.. Most multimedia keys work as expected.

Since the question was only about iOS the correct answer is to use Apple's proprietary GATT protocol, which has been developed already in 2014.
The Apple Media Service (AMS) is used with Bluetooth accessories that connect to iOS devices through Bluetooth low-energy links. It gives them a simple and convenient way to control media apps and access information about the media states of the connected iOS devices.
https://developer.apple.com/library/archive/documentation/CoreBluetooth/Reference/AppleMediaService_Reference/Introduction/Introduction.html

Related

iOS: Only Airpods connect directly to answering call. For other company headphone, you have to select bluetooth after answering

I was recently working on a iOS calling app. Suddenly, one of my colleagues informed me that his headphone is not connecting to call directly after answering though his headphone is connected to bluetooth . However, one of my other colleagues, airpods are connecting to bluetooth. He did not have to select bluetooth after answering. Is it true for all the non apple products? If yes, is only apple headphones get this extra facility.
Apple devices will connect to AirPods automatically when placed in ears. Android devices will need to pair them in Bluetooth. When calling, it depends on the device settings what the default speaker is.

Looking for an Xamarin.Forms bluetooth library for IOS that will pick up already paired devices to my iphone

I've got an existing PCL Xamarin forms app which works great. New requirement is to connect a Biocontrol Hhr3000 scanner via Bluetooth to the .ios version of my project. Workflow is, i first connect and pair the scanner to my iPhone over Bluetooth. I need a non LE (low energy) Bluetooth library which i can use to work with this. All i can find on the internet is all examples of LE Bluetooth so as it stands i cant get the iPhone to pick up the scanner via normal Bluetooth pairing.
Please point me in the right direction. I'm looking for an ios implementation thats simple like this one for android: https://acaliaro.wordpress.com/2017/02/07/connect-a-barcode-reader-to-a-xamarin-forms-app-via-bluetooth/
If the device is Mfi Certified by Apple, then you can use the External Accessory Framework to interact with the bluetooth device. If you can pair it, I have to assume it is Mfi Certified.

BlueTooth headset not able to use as audio recording capture for iOS and OpenEars

We are building an iOS app that does basic speech recognition. Basically, the app counts the number of words you speak into the iOS device. The app works well when speaking into the standard microphone built into the iPhone. However, when connecting a wireless Bluetooth audio device, we are unable to use that Bluetooth device as a method for recording voice audio. We are using following software and devices:
built for iOS7.0/7.1 with the OpeanEars library for speech recognition
we’re using the ZOMM Wireless Leash (http://www.zomm.com/ | http://www.amazon.com/ZOMM-Wireless-Bluetooth-Speakerphone-Black/dp/B003N3J6BU/ref=sr_1_1?ie=UTF8&qid=1409515088&sr=8-1)
Tried other Bluetooth devices with the same behavior (Bluedio 66i and Bluedio DF200)
Unable to capture audio in default Voice Memo app
as far as we know this is simply using standard BlueTooth protocol, as we understand it, once the bluetooth device is paired it should automatically start accepting it as a device for recording/audio capture
According to OpenEars, the Bluetooth audio devices should be picked up automatically (http://www.politepix.com/forums/topic/enabling-bluetooth-support/). Are we right in assuming this?
We used the VoiceMemo app (the voice recording app that ships with iOS) to test out the bluetooth device as a “control” experiment:
Pair the ZOMM with the iOS device
Open VoiceMemo
Select ZOMM as input device from within the VoiceMemo app
Start recording
Stop recording – no audio was captured
Unfortunately this meant that neither our app nor the standard voice recording app is able to use the bluetooth device as a means for recording audio. Either way it’s hard to rule the device as simply the issue.
We’re curious to understand if this simply a hardware issue (and need a BT-enabled device that supports voice recording to iOS) or if there is something in the code we need to enable in order for the app to start accepting the device as recordable.
Also, more details about the ZOMM headset:
ZOMM specifications:
Bluetooth Wireless Compatibility:
This ZOMM device supports the following Bluetooth wireless protocols and profiles:
• Bluetooth core technology v2.1+EDR
• Hands-Free Profile (HFP) v1.5 headset role
• Headset Profile (HSP) v1.2 headset role
Bluetooth Wireless Interoperability:
This ZOMM device is designed to be interoperate with all Bluetooth wireless products that support compatible profiles and roles
including:
Bluetooth core technology v3.0, v2.1+EDR, v2.0 +EDR, v1.2
Bluetooth master and slave roles
Bluetooth Hands-Free Profile (HFP) v1.5 and prior headset (HS) role
Bluetooth Headset Profile (HS) v1.2 and prior headset (HS) role
Any idea on what we could do to resolve this issue and use Bluetooth together with the OpenEars library on iOS7.1?
Thanks! Philip
testing with Voice Memo is logical, however the app may not be allowing the route the change when BT is connected. A detailed explanation is here. iOS: Using Bluetooth audio output (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput) AudioSession
With OpenEars, I believe you can enable logging to track when the audio route changes. So, you can verify via logging that it is listening to where it should be or .... not listening. I would suggest upgrading as of this post http://www.politepix.com/forums/topic/small-bug-when-running-on-ios-8/ . If you scroll to the bottom you can see BT should work now.
Another test worth running is SaveThatWav within OE. I have not used it, but you should be able to verify what you are listening too.

What specs do I need to know to develop bluetooth (AVRCP 1.4) iPhone app

I am new to iPhone dev't and I am going to work on a project where I have to develop a bluetooth enabled iPhone app to control a vehicle stereo, and DVD player. The vehicle has a physical remote control (IR) and the aim of this project is to replace the IR with a bluetooth enabled iPhone app to control the functions that the IR does. Play, stop, next,previous etc...
The hardware can communicate with AVRCP 1.4 . I don't know every detail but that is what I know.
What knowledge do I need to implement the application?
Thank you.
AVRCP is a Bluetooth 2.1 profile, so you will need to go through the MFI program - even then, if your are not the manufacturer for the audio unit you will probably not be able to get the solution certified as you won't be able to get the Apple chip added to the device.
To clarify my answer - According to this document iOS has support for AVRCP, in conjunction with A2DP to allow external devices (such as a car stereo) to play/pause/skip tracks being played by the iOS device. Controlling an external device from your iOS device is not available to an app

iOS: can I pair more than one bluetooth audio device at once?

I would like to write an iOS app to simultaneously record audio from several bluetooth headset microphones. Is this even possible given the api of iOS?
The bluetooth specification allows up to seven devices to connect, but it's not straightforward, as it is dependent on the type of device and the service profile it provides. For example, you can have a bluetooth keyboard, mouse, and headset connected at the same time, and an A2DP (Advanced Audio Distribution Profile) device to stream music, but you can't have two devices that performing the same service profile connected at the same time. check the link below for more info.
http://en.wikipedia.org/wiki/Bluetooth

Resources