一、DirectX和Vfw是微软的多媒体硬件设备接口。
二、Vfw是封装在MFC中的应用程序接口,在进行编程时可以直接调用,对相应的硬件设备(比如摄像头等)的控制,实现起来比较容易。其核心是AVI文件标准,有六个模块组成:
(1)AVICAP.DLL:包含了执行视频捕获的函数,它给AVI文件I/O和视频、音频设备驱动程序提供一个高级接口;
(2)MSVIDEO.DLL:用一套特殊的DrawDib函数来处理屏幕上的视频操作;
(4)AVIFILE.DLL:支持由标准多媒体I/O(mmio)函数提供的更高的命令来访问.AVI文件;
(5)压缩管理器(ICM):管理用于视频压缩-解压缩的编解码器(CODEC);
(6)音频压缩管理器ACM:提供与ICM相似的服务,不同的是它适于波形音频。
同时Vfw还提供了一些vfw32.lib、 msacm32.lib 、winmm.lib等类似的库,还有一些类库的使用。
三、DirectX是微软用c++写的多媒体程序接口,原本为其弥补其系统对图像,声音的不足,而后发展为支持大多数硬件设备的广泛型编程接口,大大增强了对多媒体的处理能力。
DirectX是由很多API组成的,按照性质分类,可以分为四大部分,显示部分、声音部分、输入部分和网络部分。
显示部分
显示部分担任图形处理的关键,分为DirectDraw(DDraw)和Direct3D(D3D),前者主要负责2D图像加速。它包括很多方面:我们播放mpg、DVD电影、看图、玩小游戏等等都是用的DDraw,你可以把它理解成所有划线的部分都是用的DDraw。后者则主要负责3D效果的显示,比如
CS中的场景和人物、FIFA中的人物等等,都是使用了DirectX的Direct3D。
声音部分
声音部分中最主要的API是DirectSound,除了播放声音和处理混音之外,还加强了3d音效,并提供了录音功能。我们前面所举的声卡兼容的例子,就是利用了DirectSound来解决的。
输入部分
输入部分DirectInput可以支持很多的游戏输入设备,它能够让这些设备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、摇杆、模拟器等。
网络部分
网络部分DirectPlay主要就是为了具有网络功能游戏而开发的,提供了多种连接方式,TCP\IP
,IPX,Modem,串口等等,让玩家可以用各种连网方式来进行对战,此外也提供网络对话功能及保密措施