使用AudioQueue在OSX中的AEC(回声消除支持) [英] AEC ( Echo Cancellation Support ) in OSX Using AudioQueue

查看:2658
本文介绍了使用AudioQueue在OSX中的AEC(回声消除支持)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在OSX和iOS上开发VOIP应用程序,并将使用AudioQueue作为音频流,需要知道的是,默认情况下,AudioQueue支持声学回声消除或者我们需要添加对它的支持,

如果我们需要实现,我相信一些开源库已经实现像Speex有任何示例可用显示AudioQueue与Speex或任何其他库集成

I am developing VOIP Application on OSX and iOS and will be using AudioQueue for Audio flow, what want to Know is, by default does AudioQueue support acoustic echo cancellation or do we need to add support for it,
If we need to implement, i believe some open source library has to be implemented like Speex are there any Example available shows integration of AudioQueue with Speex or any other library

推荐答案

就我所能找到的,你必须使用音频单元来访问系统的回声消除。您可以使用 kAudioUnitSubType_VoiceProcessingIO ,而不是 kAudioUnitSubType_RemoteIO

As far as I can find, you have to use Audio Units to access the system's echo cancellation. You do that by using kAudioUnitSubType_VoiceProcessingIO instead of kAudioUnitSubType_RemoteIO.

您可能想要使用音频单元,以便控制延迟。

You probably want to use Audio Units anyway, in order to control your latency.

您可以使用render回调函数从音频队列获取数据,将它传递给您的I / O单元。对于传出,请使用 AudioUnitRender

You can use a render callback function to get data from an Audio Queue and pass it to your I/O unit. For outgoing, use AudioUnitRender.

这篇关于使用AudioQueue在OSX中的AEC(回声消除支持)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆