gpt4 book ai didi

ios - 使用AVAudioEngine录制麦克风和音效

转载 作者:行者123 更新时间:2023-12-01 17:56:16 26 4
gpt4 key购买 nike

我正在使用 AVAudioEngine 将麦克风的输入以及各种声音效果录制到单个文件中。录制时,声音通过扬声器通过引擎的输出节点播放。然而,这会给使用耳机录音的用户带来奇怪的效果,因为他们可以通过扬声器/耳机听到自己的声音播放。因此,我只想通过扬声器输出声音文件的声音,而不是麦克风发出的声音。

但是,我还没有找到使用 AVAudioEngine 实现此目的的方法。我最近的尝试涉及将声音文件节点连接到主混音器,并使用混音器的输出节点播放它们,然后将麦克风连接到第二个混音器。然后,mainMixer 将其输出(声音文件中的音频)发送到这个混音器,我在该混音器上安装了一个水龙头,用于将音频写入我的文件。

但是,混音器节点只有一个输出,这意味着根本没有声音通过扬声器播放,因为 mainMixer 已被更改为将其输出路由到第二个混音器而不是输出节点。

这是我的引擎布局:

soundfileNode ----> mainMixer ---> outputNode (speaker)
|
|
v
inputNode (mic) --> secondaryMixer ---> tap (write to file)

我该如何解决我的问题?有什么想法吗?

更新:

我现在使用 AVAudioConnectionPoint 来分离 mainMixer 的输出。然而,声音文件播放(和录制)的声音失真,有很多爆裂声和噪音。仅当我在辅助混音器上安装水龙头以写入输出文件时,才会发生这种情况。还有其他人经历过这种情况吗?

最佳答案

However, mixer nodes only have one output

啊哈,但事实并非如此。您正在寻找 AVAudioConnectionPoint。通过连接到连接点数组,您可以分割输出。

关于ios - 使用AVAudioEngine录制麦克风和音效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35926989/

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