在新的 iOS 版本中,我需要在我的应用程序上启用新的麦克风模式。但是我在 Google 或 YouTube 中没有看到任何示例。如果有人可以帮助我展示如何在新的 iOS 15 中启用麦克风模式,将会有很大帮助。
谢谢你。
我最终通过为我的应用程序配置音频会话来实现这一目标。 按照这篇文章,这将为应用程序设置麦克风模式。
即使您使用
AVCaptureDevice
来捕获音频,您也可以执行以下操作。只需初始化 AVAudioEngine
并设置 AVAudioInputNode
。
AVAudioInputNode *inputNode = _audioEngine.inputNode;
[inputNode setVoiceProcessingEnabled:YES error:&error];
[inputNode setVoiceProcessingAGCEnabled:YES];
这将启用带有麦克风模式的菜单。来自
AVCaptureDevice
的声音也会被这些模式过滤。
根据我的测试,似乎不可能以编程方式将麦克风模式设置为标准、语音隔离或宽频。尽管您也许能够获得麦克风模式值。但是,使用这些步骤,您可以允许您的用户自行设置:
let audioSession = AVAudioSession.sharedInstance()
do {
try? audioSession.setCategory(.playAndRecord, mode: .videoRecording, options: .allowBluetooth)
try? audioSession.setActive(true)
let node = audioEngine.inputNode
node.isVoiceProcessingAGCEnabled = true
node.isVoiceProcessingBypassed = false
node.isVoiceProcessingInputMuted = false
try? node.setVoiceProcessingEnabled(true)
...
AVCaptureDevice.showSystemUserInterface(.microphoneModes)
然后用户可以更改 WideSpectrum 或 voiceIsolation