ADM的创建
1.Audio Device Module是在逻辑层与硬件设备层之间进行了转换,需要使用什么功能,调用什么接口就可以,不要管底层平台实现。
2.AudioDeviceModule是一个接口类,定义了一系列接口。最终实现由子类AudioDeviceModuleForTest实现,其中包括一些测试函数(对设备的测试:扬声器测试,麦克风测试)
3.AudioDeviceModuleForTest真正使用的是它的子类AudioDeviceModuleImpl
4.AudioDeviceModuleImpl中有两个重要成员
AudioDeviceGeneric* _ptrAudioDevice;AudioDeviceBuffer _audioDeviceBuffer;
5.AudioDeviceGeneric也是一个接口类,其中定义了很多接口,主要是与设备相关。其实现类是更具具体的平台有对应的实现类。
6.不同平台实现的时候都会使用AudioDeviceBuffer,而AudioDeviceBuffer会使AudioTransport,当通过音频设备采集到数据后需要通过AudioTransport交给上层,而上层来的数据也需要通过AudioTransport向下传递。
7.AudioTransport只是一个接口类,真正的实现在AudioTransportImpl