本文介绍了使用AVAudioEngine录制麦克风和声音效果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用AVAudioEngine记录从麦克风以及各种音效到单个文件的输入。录制时,声音回放通过扬声器,通过发动机的outputNode。但是,这会导致用户使用耳机记录,因为他们可以听到自己的声音通过扬声器/耳机播放一个奇怪的效果。因此,我只希望输出声音文件的声音通过扬声器,而不是声音从麦克风来了。

我还没有找到一种方法来实现这一目标用AVAudioEngine,但是。我的最新尝试参与挂钩声音文件节点的主调音台,并让他们播放使用调音台的outputNode然后钩住麦克风第二混频器。该mainMixer然后将其输出(从声音文件的音频)对此混频器,这是我上安装了自来水,为写音频我的文件。

然而,混频器的节点只有一个输出,这意味着,没有声音在所有被通过扬声器回放,由于mainMixer被改动路由它输出到第二混频器,而不是到outputNode

下面是我的引擎布局:

  soundfileNode ----> mainMixer ---> outputNode(扬声器)
                        |
                        |
                        v
inputNode(MIC) - GT; secondaryMixer --->挖掘(写入文件)

我怎样才能解决我的问题?任何想法?

更新:

我现在用AVAudioConnectionPoint分裂从mainMixer输出。然而,声音文件播放(和记录)的声音失真,有很多脆皮和噪音。这只有当我在我的次要混频器安装一个水龙头,写入到输出文件时发生。有没有其他人经历过这样?


解决方案

Aha, but that's not true. You're looking for AVAudioConnectionPoint. By connecting to an array of connection points, you split the output.

这篇关于使用AVAudioEngine录制麦克风和声音效果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-24 17:08