【发布时间】:2017-08-07 02:57:55
【问题描述】:
我正在使用 AVAudioEngine 进行音频流式传输。但是当我对着麦克风说任何单词时,它会重复多次,就像回声效果一样。我想当我说话的时候,声音只有一次,而不是多次。我想消除回声或额外的噪音。
我怎样才能做到这一点?
var peerAudioEngine: AVAudioEngine = AVAudioEngine()
var peerAudioPlayer: AVAudioPlayerNode = AVAudioPlayerNode()
var peerInput: AVAudioInputNode?
var peerInputFormat: AVAudioFormat?
func setUpAVPlayer() {
self.peerInput = self.peerAudioEngine.inputNode
self.peerAudioEngine.attach(self.peerAudioPlayer)
self.peerInputFormat = AVAudioFormat.init(commonFormat: .pcmFormatFloat32, sampleRate: 44100, channels: 1, interleaved: false)
self.peerAudioEngine.connect(self.peerAudioPlayer, to: self.peerAudioEngine.mainMixerNode, format: self.peerInputFormat)
print("\(#file) > \(#function) > peerInputFormat = \(self.peerInputFormat.debugDescription)")
}
【问题讨论】:
-
请给我们看一些代码,告诉我们到目前为止你做了什么。
-
@ParasGorasiya 请检查我的代码
-
您是否在会产生回声的环境中录制内容?
-
@ParasGorasiya 是的,我正在使用 AVaudioEngine 录制,但是当我发送并播放它时会产生回声或重复声音
-
我的意思是你在一个空旷的大房间里录音,录音时会产生回声?所以这可能是真正的问题。
标签: ios swift avaudioengine avaudioplayernode