iPhone耳机音频插孔重新路由

use*_*690 5 hardware audio notifications ios

我们创建了一个外部iOS通知灯,它使用设备的音频供电.当您在iPhone上接到电话并且灯已插入时,您仍然可以获得铃声但是当您拿起时,音频被重新路由到耳机(iPhone认为我们的灯/设备是耳机)并且用户已经将myLED提取至少2mm以从手机的前接收器获取音频.

我们一直在探索这种挑战的替代解决方案 - 最近我们制作了一个具有特定插孔形状的原型,以便在接到"重新路由"音频到iPhone扬声器/麦克风的呼叫时,用户可以旋转它.虽然听起来可能是一个聪明的选择,但这种硬件解决方案远非整洁 - 这导致myLED无法工作/不可靠的位置,以及其他复杂情况.

我知道kAudioSessionOverrideAudioRoute_Speaker的存在然而我怀疑这只会将应用音频引导到后置扬声器("响亮的")而不是前置接收器(因为iphone的"接收器"是耳机设置,如果它们被检测到).

你会建议什么?非常感谢!

Mat*_*att 4

我认为你现在处境艰难:

  1. 苹果不太可能发布覆盖电话音频路由的选项。作为手机的一项关键功能,他们倾向于将通话功能置于锁定状态。

  2. 耳机插孔(可能 - 这就是大多数人的做法)使用地与一个或两个扬声器或遥控器之间的阻抗来确定插头是否插入。除了断开电路外,没有什么好方法来模拟这。

我认为你唯一的选择是:

  1. 要求用户在来电时移除设备。

  2. 在插孔上提供微控制器来驱动晶体管;该晶体管可以通过电子方式断开电路,以提供与未插入的插孔相同的阻抗特征。

如何、何时以及是否可以向插孔提供正在进行电话通话的信息​​超出了我的知识范围:是否有一个可以连接的“来电但尚未应答的呼叫”的 API?您是否需要执行看门狗操作来确保与您的应用程序的通信?您可以改用底座连接器吗?我认为这些确实是您的选择。不是完整的答案,但这些是我的想法。