iphone - 用 iPhone 控制蓝牙音频设备

标签 iphone objective-c ios bluetooth avrcp

我正在寻找为 iPhone 编写的应用程序,它将能够控制汽车中的 radio 和 CD 播放器。 radio 和播放器具有可用的蓝牙连接。

我开始这个问题是为了获得我需要的关于这个地方的所有信息。我有几个问题,但如果您发现任何我没有提出的问题对我开始开发此应用程序很重要,请告诉我。

我已经阅读了有关 AVRCP 配置文件的信息,车载蓝牙设备支持 AVRCP 1.3,这对我来说已经足够好了,考虑到可以在该协议(protocol)版本中执行的控制。

我读到很多人说“Apple 设备只能相互交互”、“Apple 设备不能通过蓝牙连接到非 Apple 设备”、“如果你想这样做,MFi 程序是必须的” ,“不需要MFi”等。我的第一个问题是:

1)是否可以通过蓝牙将 iPhone (4, 4S) 与车载 radio 和 CD 播放器配对,并使用任何 iPhone 版本控制广播电台和音乐?如果是,进行这种成功的蓝牙连接的限制是什么?

关于 iPhone 可以工作的角色的信息也很少。对于 AVRCP 有两种角色: Controller 和目标角色。通过阅读本文:https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf我没有找到第二个问题的答案:

2) iPhone 能否充当 Controller 并向目标设备( radio 和 CD 播放器)发出 AVRCP 1.3 中规定的所有可用命令?

我还想了解针对此特定问题的可用框架。我知道其中有几个,但如果有人认出适合我的问题的那个,我想知道:

3) 我应该使用哪个框架与目标设备进行交互?

从开发人员的角度来看,我还对用于与连接的蓝牙设备进行交互的可用 API 感兴趣。由于我正在制作自己的应用程序并将操作分配给按钮,因此在分配给按钮的方法内部我需要执行向目标设备发送消息。所以我的下一个问题是:

4) 有谁知道如何将命令发送到目标设备(开始/停止/暂停/前进/后退等)作为 XCode 中提供的某些 API 的一部分,或者我参加的每条消息通过蓝牙发送到目标设备我需要根据协议(protocol)文档制作(自己制作整个消息(标题、正文、命令部分等))?

AVRCP 是我完成此应用程序的想法。如果我错了,请告诉我。 蓝牙具有不同的配置文件,据我所知,当从一个设备发送消息时,配置文件本身会处理消息并对其进行解释并传递给目标设备,以便目标设备可以理解它。从我从 Objective-C(或 C)代码发送消息的那一刻起,我不明白如何处理从 iPhone 发送到目标蓝牙设备的消息。这是我的主要疑问,它与问题 4 有关 - 我是否需要以正确的格式制作原始消息以便将 AVRCP 命令发送到设备,或者我可以使用一些 API 将这些消息识别为AVRCP(或任何其他类型)并将其传送到目标设备

从开发人员的角度来看,最后一个问题(如果我认为之前的所有问题都有任何肯定的答案)是我最关心的问题。因此,如果有人可能遇到过这个特定问题,我将不胜感激任何类型的回答或建议。

我真的很期待你的回答。我希望建设性和有用的讨论将围绕这个话题展开,并且会写出很多有用的信息。

最好的问候。

最佳答案

如果您的设备(CD 播放器)兼容蓝牙 4.0 LE,您可以使用 CoreBluetooth 实现

关于iphone - 用 iPhone 控制蓝牙音频设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11309950/

相关文章:

iPhone:单独的描边和填充不起作用

ios - 将数据从 Node 服务器发送回 iOS 设备(使用 Swift)

iphone - Grand Central Dispatch (GCD) 与 performSelector - 需要更好的解释

iphone - 自定义 UITableViewController 的标题部分

iphone - 无法从mainbundle中读取plist

objective-c - 自动布局旋转不起作用

ios - ARC的语义问题

ios - didRegisterForRemoteNotificationsWithDeviceToken 在 ios 9 中没有调用

ios - 如何将自定义 NOT TINTED 图像添加到 UIBarButtonItem

ios - Firebase Offline,确定项目是否保存到服务器而不仅仅是本地缓存