音频引擎架构
1.AudioEngine中的AudioState是对ADM ,AudioTransport (AudioProcess3A处理 , Mixer混音)的管理。
2.发送音频流程:从ADM操作底层驱动采集音频,数据会通过AudioDeviceBuffer传给Audioprocess进行处理,处理后交给Call的AudioSendStream交由ACM编码,最后交给网络层发送。
3.接受音频流程:网络层收到数据,入队列,通过Call类的AudioReciveStream转给音频解码器,然后缓存起来,扬声器会使用一个单出线程按照固定的时间调用AudioDeviceBuffer来获取数据,会调用Mixer在多个Stream中获取10ms数据进行混流,交给扬声器。
4.AudioEngine 和 VideoEngine 都是全局唯一的。
5.AudioProcess 与 Mixer瞬时处理不存储数据状态。