webrtc音频引擎模块之 audio_device介绍

转载 2015年11月18日 11:13:22


 audio_device模块的目录结构如下:

  

    1,include 文件夹是该工程的库包含导出文件;

    2,android、ios、linux、mac、win文件夹分别对应于相应设备已经操作系统,该部分主要完成音频的录音和播放处理,部分设备也会进行混音处理;  下面以windows系统为例做主要的介绍:

  

        2.1, audio_device_core_win(.cc/h)和audio_device_wave_win(.cc/h),这两个模块的功能相同,都主要用于设备的控制管理,如果设备的选择、开始录音、停止录音、开始播放、停止播放、麦克风静音等相关操作的实现;

          不同的是audio_device_core_win直接通过com接口操作音频系统底层;而audio_device_wave_win是直接调用现成的SDK操作音频。 如果windows操作系统支持直接操作音频系统底层将会调用audio_device_core_win模块,否则调用audio_device_wave_win模块。如下面代码:

       


        2.2,audio_device_utility_win(.cc/h),公用方法的文件,只有简单的几个函数,可以不太深究;

        2.3,audio_mixer_manager_win(.cc/h),该模块主要用于数据的管理操作,以及音频的混音播放处理。


    3,dummy文件夹,是模拟设备的调用处理,里面没有什么实际源码;

    4,上图能看到的“.cc”和“.h”是该模块的业务处理核心。

      4.1,audio_device_buffer,音频的数据处理,捕获的音频的回调数据,需要播放的音频处理业务。

      4.2,audio_device_config,配置处理,使用默认的即可。

      4.3,audio_device_generic,通用模块,也就是该模块消除了设备的无关性,每个设备模块都会继承该模块, windows操作继承该模块的为 audio_device_core_win和audio_device_wave_win。

      4.4,audio_device_impl,接口模块,外部使用的接口模块;

      4.5,audio_device_utility,通用模块,主要提供通用的函数与定义。

webrtc音频引擎总结

该篇文章将基于voice_engine模块对webrt音频做个总结,但是不包括网络传输部分的细节介绍。关于webrtc的网络模块,将会在接下来的时间以单独的网络模块介绍与大家分享。    voice...
  • qazwsxwtc
  • qazwsxwtc
  • 2015年10月16日 10:06
  • 2161

webrtc音频引擎模块之 audio_device介绍

audio_device模块的目录结构如下:        1,include 文件夹是该工程的库包含导出文件;     2,android、ios、linux、mac、win文件夹分别对应于...
  • qazwsxwtc
  • qazwsxwtc
  • 2015年10月15日 17:19
  • 2501

webrtc音频引擎之CNG模块介绍

CNG即comfort noise generator,舒适噪音生成。   该模块主要完成舒适噪音的生成,模块结构为:    代码文件非常少,总共的代码也不多,有兴趣的可以去研究舒适噪音的生成原...
  • qazwsxwtc
  • qazwsxwtc
  • 2015年10月15日 17:57
  • 2167

webRTC的音频和视频引擎的使用

webRTC的音频和视频引擎的使用   2013-05-09 13:27:33|  分类: webrtc |举报 |字号 订阅 应群里哥们的要求,现把怎么使用webrt...
  • oupeng1991
  • oupeng1991
  • 2014年06月05日 11:36
  • 2534

WebRTC源码分析二:音频模块结构

本文介绍WebRTC音频模块组成和结构,详细介绍音频引擎的配置和启动,相信看完本文后,很多人可以利用webRTC完成一个音频通话程序开发。 一、对外接口       音频部分的对外主要接口如下,各个接...
  • neustar1
  • neustar1
  • 2014年02月17日 17:44
  • 14240

webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so

webrtc代码在android和chromium项目中都有。但是android中的那个带有Android.mk,稍微修改下就能用ndk-build编译出libwebrtc_audio_preproc...
  • elesos
  • elesos
  • 2016年12月03日 15:25
  • 1998

Android Studio 单独编译WebRTC的 vad 模块

Android Studio 3.0.1 Mac OS X 10.12.6 先配置 jni 环境,按照一年前写的文章 android Studio jni 编程 进行配置在build 工程的时...
  • langzxz
  • langzxz
  • 2017年12月20日 21:51
  • 225

单独编译和使用webrtc音频增益模块(AGC)

webrtc的音频处理模块分为降噪ns和nsx,回音消除aec,回声控制acem,音频增益agc,静音检测部分。另外webrtc已经封装好了一套音频处理模块APM,如果不是有特殊必要,使用者如果要用到...
  • godloveyuxu
  • godloveyuxu
  • 2017年06月29日 16:08
  • 617

WebRtc 音频引擎-linux demo

Google收购了著名的音频技术公司GIPS后,基于其强大的音频技术,实现了WebRtc的Voice Engine,即语音处理引擎。本文主要介绍WebRTC 中Voice Engine中音频技术相关的...
  • u012908515
  • u012908515
  • 2016年12月09日 14:25
  • 325

单独编译和使用webrtc音频回声消除模块(AEC)

原文转载于:http://www.cnblogs.com/mod109/p/5827918.html#top  非常感谢。 说实话很不想写这篇文章,因为这和我一贯推崇的最好全部编译并使用webrtc...
  • godloveyuxu
  • godloveyuxu
  • 2017年06月29日 16:12
  • 775
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:webrtc音频引擎模块之 audio_device介绍
举报原因:
原因补充:

(最多只允许输入30个字)