如何在新的iOS 15中启用麦克风模式?

问题描述 投票:0回答:3

在新的 iOS 版本中,我需要在我的应用程序上启用新的麦克风模式。但是我在 Google 或 YouTube 中没有看到任何示例。如果有人可以帮助我展示如何在新的 iOS 15 中启用麦克风模式,将会有很大帮助。

谢谢你。 enter image description here

ios swift swiftui ios15
3个回答
0
投票

我最终通过为我的应用程序配置音频会话来实现这一目标。 按照这篇文章,这将为应用程序设置麦克风模式。


0
投票

即使您使用

AVCaptureDevice
来捕获音频,您也可以执行以下操作。只需初始化
AVAudioEngine
并设置
AVAudioInputNode

AVAudioInputNode *inputNode = _audioEngine.inputNode;

[inputNode setVoiceProcessingEnabled:YES error:&error];
[inputNode setVoiceProcessingAGCEnabled:YES];

这将启用带有麦克风模式的菜单。来自

AVCaptureDevice
的声音也会被这些模式过滤。


0
投票

根据我的测试,似乎不可能以编程方式将麦克风模式设置为标准、语音隔离或宽频。尽管您也许能够获得麦克风模式值。但是,使用这些步骤,您可以允许您的用户自行设置:

  1. 您必须首先确保 setVoiceProcessingEnabled 并将 isVoiceProcessingAGCEnabled 设置为 true。
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)
...
  1. 之后,您可以设置一个要点击的按钮,以在麦克风正在使用时运行此代码
AVCaptureDevice.showSystemUserInterface(.microphoneModes)

然后用户可以更改 WideSpectrum 或 voiceIsolation

© www.soinside.com 2019 - 2024. All rights reserved.