iPhone耳机音频插孔重新路由

时间:2013-01-08 23:43:53

标签: ios audio notifications hardware

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

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

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

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

1 个答案:

答案 0 :(得分:4)

我认为你处境艰难:

  1. Apple不太可能会发布覆盖电话呼叫音频路由的选项。作为手机的一项关键功能,它们倾向于将通话方面保持锁定和锁定。

  2. 耳机插孔(可能 - 这是他们大多数人这样做的)使用地面和一个或两个扬声器或遥控器之间的阻抗来确定插头是否在。除了断开电路,那里这不是模拟这个的好方法。

  3. 我认为你拥有的唯一选择是:

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

    2. 在千斤顶上提供微控制器以驱动晶体管;该晶体管可以电子方式断开电路,提供与拔出插孔相同的阻抗特征。

    3. 如何,何时以及如果您能够向杰克提供正在进行电话呼叫的信息是我所不知道的:是否有可以挂钩的“来电但尚未接听电话”的API?您是否需要做一些看门狗事情以确保与您的应用程序进行通信?您是否可以使用底座连接器?我认为这些都是你的选择。不是一个完整的答案,但那些是我的想法。