是否可以检测iPod Touch/iPhone是否连接了耳机或其他配件?
我正在构建一个需要麦克风的应用程序,需要知道"iSomething"是否有连接,无论是通过基座连接,还是使用耳机端口,例如Apple的内置耳机/麦克风配件.
终于找到了它 - 在初始化Audio Session对象之后, - AudioSessionInitialize() - 你可以调用AudioSessionGetProperty,并获得kAudioSessionProperty_AudioInputAvailable的值.
AudioSessionInitialize(NULL, NULL, NULL, NULL); UInt32 propertySize, micConnected; AudioSessionGetProperty(kAudioSessionProperty_AudioInputAvailable, &propertySize, &micConnected); [self updateMicStatus:micConnected]; // user-created method
根据音频会话服务的文档,应该使用它而不是使用设备模型(iPhone与iPod Touch)来确定是否可以使用音频输入.您还可以设置回调函数,以通过AudioSessionAddPropertyListener()监视对此属性的更改.
不确定此属性是否也适用于通过Dock连接器连接的设备,但它似乎适用于耳机插孔.