WebRTC音频01 - 设备管理(本文)
WebRTC音频 02 - Windows平台设备管理
WebRTC音频 03 - 实时通信框架
WebRTC音频 04 - 关键类
WebRTC音频 05 - 音频采集编码
一、前言:
想象一下,我们在PC上安装了一个钉钉,需要开一个音视频会议。在呼叫建立这个音视频的会议的过程中,与音频相关的必要操作步骤有哪些呢?
首先,你得有硬件设备,麦克风和扬声器;
其次,你是不是得编写麦克风和扬声器的驱动程序,并添加到windows系统的内核态,并暴露接口给应用层?
接着,硬件有了,驱动有了你就可以直接写一个app去操控这个设备了(调音量、静音什么的);
那么问题来了,如果明天换了一个品牌的麦克风呢?你是不是又得做一遍?
现实中肯定不是这样的,因为微软已经规定了好了,你如果是麦克风,你就得按照我规定的一套标准API去开发驱动,无论你换啥麦克风,我都可以用通用驱动程序。那么问题又来了,既然驱动的接口已经定了标准,那么对应用层暴露的API是不是也可以有个标准呢?答案是肯定的,不光提供了接口,微软还做了一个专门的管理模块去管理这些音频相关的设备。
那么,问题又来了,人家微软不管什么麦克风怼上去都可以使用