首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在两个耳机频道上打开AKMicrophone work

在两个耳机频道上打开AKMicrophone work
EN

Stack Overflow用户
提问于 2019-04-24 21:08:12
回答 1查看 154关注 0票数 1

我面临着一个简单的问题,在谷歌上找到答案并不容易(至少对我来说是这样)。与AudioKit 4.4合作,我正在尝试制作一个麦克风,我可以在我的立体声耳机的两个声道中听到输出。我尝试手动将audioformat设置为AudioKit.formatAKSettings.channelCount,但在耳机中我只能在左声道听到麦克风。我错过了什么?

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

代码语言:javascript
复制
    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()

正如您所看到的,我只是初始化音频会话的AKSettings属性,并创建一个连接到AudioKit引擎输出的麦克风。我怀疑AKSettings.channelCount = 2之前的AKSettings在这个问题上没有起到任何作用。但是我一点也不明白,我做错了什么?我敢肯定,这将是一个简单的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-25 21:13:43

因此,我找到了答案--它是AKStereoFieldLimiter

代码语言:javascript
复制
let mic = AKMicrophone()
let monoToStereo = AKStereoFieldLimiter(mic, amount: 1)
let micMixer = AKMixer(monoToStereo)
AudioKit.output = micMixer

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55830816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档