我正在OSX和iOS上開發VOIP應用程序,並且將使用AudioQueue進行音頻流,但想知道的是,默認情況下AudioQueue支持聲學回聲消除,還是我們需要添加支持它,
如果我們需要實現,我相信一些開源庫必須要像Speex的實現是否有任何實例可用的節目集成AudioQueue與Speex語音或任何其他庫使用AudioQueue的OSX中的AEC(回聲消除支持)
回答
至於我能找到,您必須使用音頻單元來訪問系統的回聲消除。你通過使用kAudioUnitSubType_VoiceProcessingIO
而不是kAudioUnitSubType_RemoteIO
。
無論如何,您可能都想使用音頻單元,以控制您的延遲。
您可以使用渲染回調函數從音頻隊列獲取數據並將其傳遞到您的I/O單元。對於傳出,請使用AudioUnitRender
。
感謝大衛,但我在OSX上不在iOS會工作嗎? – Amitg2k12 2013-03-19 11:28:37
語音處理IO單元在10.7或更高版本上可用:https://developer.apple.com/library/mac/#documentation/AudioUnit/Reference/AUComponentServicesReference/Reference/reference.html#//apple_ref/doc/uid/ TP40007291 – 2013-03-19 20:43:36
我在最新的OSX Sdk上設置了VoiceProcessingIO,但仍然Echo即將到來,任何解決方案 – Amitg2k12 2015-10-01 12:25:45
感謝David和This post,我已經意識到,需要以下更改的回聲消除在iOS上:
desc.componentSubType = kAudioUnitSubType_VoiceProcessingIO
這將根據apple documentation啓用硬件回聲抑制。但是,您仍然需要使用AudioStream說明的特定標誌:
audioFormat.mFormatFlags = kAudioFormatFlagsCanonical;
- 1. 聲學回聲消除(AEC)與Speex語音和DirectSound的
- 2. 任何能夠達到48 kHz的聲學回聲消除(AEC)庫?
- 3. 如何使用AudioQueue在C++中爲Mac OSX播放聲音
- 4. Android的回聲消除
- 5. 使用Android的內置的聲學回聲消除
- 6. Pjsip回聲消除
- 7. 的WebRTC聲學回聲消除
- 8. OSX上的OpenMP支持10.11
- 9. 使用本機庫的Flash/Flex中的回聲消除
- 10. Pepper Flash回聲消除
- 11. Silverlight 5仍將支持OSX
- 12. OSX是否支持poll()?
- 13. OSX Lion ctags Java支持
- 14. NAudio是否支持Mac OSX
- 15. 使用Visual Studio Online取消對不同分支的支持
- 16. python on OSX和回聲-n
- 17. 的BackgroundWorker支持取消
- 18. 在java中查找OSX上的應用程序支持目錄
- 19. 使用libmms和audioqueue
- 20. 如何用AVAudioEngine取消或刪除回聲/重複聲音?
- 21. 使用Core音頻API進行回聲消除
- 22. 消除回聲-ED尾隨逗號PHP
- 23. Sipek sdk關閉回聲消除
- 24. 回聲消除反斜槓字符
- 25. Android硬件回聲消除檢測
- 26. Adobe的.getEnhancedMicrophone方法是否在10.3中有回聲消除?
- 27. 使用Adobe Air在移動設備上進行聲學回聲消除
- 28. 聲子和圖像支持
- 29. Saml2SecurityTokenHandler是否支持使用SHA256簽名的SAML2聲明?
- 30. java中的音頻噪聲消除
您能解決您的問題嗎?我有同樣的問題。 – Vincenzo 2017-01-28 00:24:29