iOS SDK 禁用内置麦克风

Posted

技术标签:

【中文标题】iOS SDK 禁用内置麦克风【英文标题】:iOS SDK Disable Internal Microphone 【发布时间】:2011-08-09 16:31:52 【问题描述】:

我正在开发一个通过辅助端口(麦克风)接收数据的 ios 应用程序。

我们连接了示波器,可以在测试 iPhone 上测量频率和幅度。

但是,即使连接了辅助电缆,除了外部 AUX 输入之外,iPhone 仍会监听内部麦克风,从而淡化了我们的测量结果。

iPhone 肯定会识别连接的 AUX 电缆(内部扬声器已关闭)。

有没有办法以编程方式禁用内置麦克风?

我们可以通过 AUX 端口发送一些特殊信号来禁用内置麦克风吗?

【问题讨论】:

【参考方案1】:

经过对该主题的大量研究,目前还没有办法做到这一点。

【讨论】:

【参考方案2】:

如果您查看Audio Session Programming Guide 和AVCaptureDevice Class Reference,所有与设备输入源和音频路由相关的属性都是readonly

如果有任何用处,您可以检测是否插入了耳机或外接麦克风。Here's 与此相关的问题。

我不相信您可以在用户不实际按下静音开关的情况下禁用内置麦克风,但也许您可以存储内置麦克风记录的数据,然后将其从示波器?我不知道您将如何实现这一点;这只是一个理论。

希望这会有所帮助!

【讨论】:

以上是关于iOS SDK 禁用内置麦克风的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap/Cordova iOS 播放声音禁用麦克风

iOS:如何选择使用哪个麦克风(内置/外置)?

在 iOS 中通过蓝牙播放时从内置麦克风录制

ios 内置麦克风录音只有一个声道声音

iOS AVAudioSessionRouteChangeReasonOverride:麦克风默认回内置 ipad 麦克风

iOS输入麦克风输出蓝牙设备