本文介绍了使用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录制麦克风和声音效果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!