AudioState
和AudioDeviceBuffer
是音频处理模块的两个功能类。两者没有直接的关系,只是放在这里一起总结。
AudioState
它是WebRtVoiceEngine
的大管家,如下图所示类的关系:
如下类图:
它的作用:
- 外面访问Engine中
AudioDeviceModule
,AudioProcessing
,AudioMixer
都是通过AudioState
接口。 - 各个Call中的Stream对象会被映射到
AudioState
对象中,进而更新AudioTransportImpl
的状态。
AudioDeviceBuffer
它有两个作用:
AudioDeviceBuffer
是ADM和Audio Core API间的数据缓存区。
ADM播放和采集的数据,总会通过 AudioDeviceBuffer
拿进来或者送出去 10 ms 的音频数据。对于不支持采集和播放 10 ms 音频数据的平台ÿ