一 概述
webrtc 音频数据整个流程的代码调用图:
二 采集部分
采集部分:使用平台上的麦克风采集api, 代码模块: moudles/audio_devce
ADMWarpper类封装了音频设备类 AudioDeviceModule, AudioDeviceDataObserver 类,AudioTransport类, 其中AudioDeviceModule 封装拉流各个平台的麦克风采集API, AudioDeviceDataObserver 可以将采集到的原始数据向外抛出,进行业务展示; AudioTransport 将原始数据进行编码传输等。
采集部分代码:
采集前会遍历麦克风设备,获取设备信息,InitRecordingDMO
使用AEC时麦克风设备属性:
typedef struct tWAVEFORMATEX
{
WORD wFormatTag; WAVE_FORMAT_PCM //音频格式
WORD nChannels; 1 //通道
DWORD nSample