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