gpt4 book ai didi

ios - 打开 AKMicrophone 在两个耳机 channel 上工作

转载 作者:行者123 更新时间:2023-11-28 05:43:15 26 4
gpt4 key购买 nike

我遇到了一个简单的问题,在谷歌中找到答案并非易事(至少对我而言)。使用 AudioKit 4.4,我正在尝试制作一个麦克风,我可以从立体声耳机的两个声道中听到输出。我正在尝试将 audioformat 手动设置为 AudioKit.formatAKSettings.channelCount,但在耳机中我只能在左声道听到麦克风的声音。我缺少什么?

这里使用我当前的设置简化了代码:

    AKSettings.bufferLength = .long
AKSettings.fixTruncatedRecordings = true
AKSettings.defaultToSpeaker = true
AKSettings.ioBufferDuration = 0.002
AKSettings.channelCount = 2
AKSettings.enableRouteChangeHandling = false
let format = AVAudioFormat(standardFormatWithSampleRate: 44100, channels: 2)
AudioKit.format = format ?? AudioKit.format

let mic = AKMicrophone()
AudioKit.output = mic
try? AudioKit.start()

如您所见,我只是为 Audio Session 初始化 AKSettings 属性并创建一个连接到 AudioKit 引擎输出的麦克风。我怀疑 AKSettings.channelCount = 2 之前的 AKSettings 在此问题中没有发挥任何作用。但是我完全不明白,我做错了什么?我敢肯定,这将是一个简单的解决方案。

最佳答案

所以,我找到了答案 - 它是 AKStereoFieldLimiter 类:

let mic = AKMicrophone()
let monoToStereo = AKStereoFieldLimiter(mic, amount: 1)
let micMixer = AKMixer(monoToStereo)
AudioKit.output = micMixer

此外,AudioKit 4.7.1 中可能有一个更简单的解决方案 - 初始化 AKMicrophone(with format: AVAudioFormat?),但我无法检查它,因为我正在使用 AudioKit 4.4。如果有人可以尝试此方法,请在此答案的评论中留下反馈。

关于ios - 打开 AKMicrophone 在两个耳机 channel 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55830816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com