关闭

webrtc音频引擎模块之 audio_device介绍

255人阅读 评论(0) 收藏 举报
分类:


 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,通用模块,主要提供通用的函数与定义。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:72898次
    • 积分:1242
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:52篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论