webrtc中win端音频---windows Core Audio
一、Core Audio 系统内核框架
图中显示的是渲染的音频数据如何从大多数应用程序流向扬声器的简化表示。对于采集来说,音频数据的路径是完全相同,但流向是相反的。从图中可以看到,一些高阶API(例如MME,DirectSound等),对 Core Audio APIs 进行了封装,使用这些API能够更容易完成某些应用程序需求。但是对于音视频来说,需要减少时延使用更底层API
从API处理后,音频流会经过两种路径到达音频端点缓存区——Shared Mode(共享模式)和Exclusive Mode(独占模式)
系统框架图中音频流最终流向了音频适配器。音频适配器很少有单一的输入和/或输出连接。事实上,大多数现代消费类个人电脑的音频适配器都支持至少三种类型的连接:耳机、扬声器和话筒
Core Audio APIs包含了4个API——MMDevice、WASAPI、DeviceTopology 和 EndpointVolume
1、MMDevice API
客户端发现音频终端设备,枚举出所有可使用的音频设备属性以及确定其功能,并为这些设备创建驱动程序实例。是最基本的 Core Audio