经过2个多星期的学习,对DirectShow有了一定的了解,自己仿照SDk中的样例简要的写了一个音频采集的例子,希望给那些新手一点点帮助。
大家知道用来采集音频的设备很多,我们可以在GraphEdit里面插入一个Audio Source Capture 作为Source Filter,如图1所示。
这个时候就存在InputPin(输入Pin)可以供我们选择,一般在实际中会选择的是麦克风作为输入的设备。既然选择到了输入设备以后,我们可以经过Wav Dest Filter 处理以后,最后通过File Writer Filter保存为一个音频的格式(1.wav)。
完整的Filter Graph 的链路形式。如下所示:
图 1
那么这个链路在GraphEdit里面是很好仿真的,但是在具体的实现步骤还是有点麻烦的。
我们可以在VC的环境下创建一个MFC的程序AudioMfc。主要可以按照下面的几个步骤来实现音频的采集:
1 Com库初始化
2 创建Filter Graph,实现I