你能确定插入iphone / ipad / ipod耳机插孔的设备的具体类型吗?

时间:2012-02-06 20:31:56

标签: iphone objective-c ios ipad headphones

我在使用iPad及其耳机插孔时发现了一些有趣的东西。

当我将iPhone耳塞式耳机插入iPad时,我可以更改头部手机音量(使用iPad上的音量按钮)。如果我拔下耳塞并使用相同的耳机插孔插入外部扬声器,我可以再次调节音量,达到不同的水平。如果我拔下扬声器,我可以重新插入耳塞。音量会自动更改回我上次设置耳塞的音量。如果我有第三个插入耳机插孔的设备(在我的情况下,我使用插入耳机插孔的UniMag信用卡刷卡器进行了测试),iPad还能记住第三个音量。它似乎知道哪个设备已插入iphone插孔并将其设置为适当的音量级别。

这与我的预期相反。我预计耳机插孔有一个音量级别,而不考虑插入哪个设备。

如果iPad可以确定哪个设备是哪个,我的原生应用程序是否也可以使用?我可以判断用户是否使用某些音频API将耳机,外部扬声器或UniMag信用卡刷卡设备插入耳机插孔并相应地表现?

对于奖金,如果你知道iPad的技术机制能够识别哪个设备是哪个,那对我来说也很有趣。

我正在使用iOS5测试iPad2。

1 个答案:

答案 0 :(得分:1)

您可以将CoreAudio用于此目的。我相信您也可以为更改设置通知。更具体地说,您可以在带有音频会话的iOS上执行此操作。您正在寻找的是路线变化。 https://developer.apple.com/library/ios/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Cookbook/Cookbook.html