有很多关于如何通过AudioSessionGetProperty / kAudioSessionProperty_AudioInputAvailable检测麦克风是否连接到 iPod touch G2 的文章,但我还没有看到任何与检测连接到 iPod touch G1 的耳机相关的文章。
回顾:iPod touch G2 硬件与 iPod touch G1 硬件在以下方面不同:
- iPod touch G2 有一个内置扬声器
- iPod touch G2 能够在耳机端口之外使用麦克风
我有一个需要播放声音才能发挥作用的应用程序,我想变得更好,并且有一个检测器,一旦连接了一些耳机,它就会显示该应用程序很有用。
我最初的试验表明,即使耳机未连接到 iPod touch G1 ,AudioSession API(特别是带有kAudioSessionProperty_AudioRoute常量的AudioSessionGetProperty )总是报告“耳机”。
我错过了什么吗?我的 AudioSession 呼叫是否有交叉连接?如果有人在 iPod touch G1 上尝试过这个并得到不同的结果?有没有另一种方法来编织 AudioSession API 并得到我想要的?
这完全是针对真正 iPod touch G1 硬件上的 iPhone OS 3.0 和 iPhone OS 3.0 SDK。
提前致谢,--Batgar