在DirectShow 中有很多Samples,WavDest就是其中一个,这个Fliter主要用于将采集到的视频流写入到指定的文件,文件格式是.WAV。如下来看看具体的代码实现。
对于每一个Filter都有一个固定的注册区代码,这是必不可少,如下代码;
这个Filter主要用于将采集的数据保存在指定的文件当中,因此它的最佳的父类应该是CTransformFilter,还有几个函数也是必须需要实现的如CreateInstance、Transform等,如下来看看CreateInstance是如何实现的。
再来看看Transform代码是如何实现,还有WavDest是如何将数据保存到文件当中;在WavDest中数据处理流程是Transform函数->
Copy函数->StopStreaming函数,其中StopStreaming函数用于保存数据,该函数代码如下;
其他代码都是常规实现,具体代码可以查看Directshow C++目录下的Samples.