上一篇 WebRTC系列 – iOS 音频采集播放之 ADM、APM和AudioState介绍了adm及其相关的模块;这篇文章主要介绍WebRTC中对于adm采集播放的接口及一些相关的控制接口;其中的
AudioDeviceGeneric
在WebRTC中是的作用是各个平台具体 音频采集和播放设备的一个抽象管理类,各个平台的控制类继承自这个类实现其接口: - iOS 下具体实现是
AudioDeviceIOS
类, - Android 下具体实现是
AudioDeviceTemplate
;
而对于类AudioDeviceModule
,则是定义了 WebRTC需要操作的ADM的所有 相关行为,例如:初始化音频播放/采集设备,播放控制,录制控制,采集播放中一些操作(改变音量,静音等),硬件3A相关算法设置等;
接下来主要以iOS接口为例基于m76云源码分析;