设计思想及关键技术
MCIWnd是个控制多媒体设备(如MIDI、数字视频、VCR连同CD音频设备等)的窗口类,要制作多媒体封面只需创建该类的一个窗口,然后向他发送打开和控制MCI配置的消息。为实现封面效果,我们应当在Initial Instance()函数执行初始化任务之前,对AVI文档进行播放,主要使用Video for Windows SDK的以下几个函数:
1.MCIWndRegisterClass()注册MCIWnd窗口类。
2.MCIWndCreate()
·函数原型
HWND MCIWndCreate(HWND hwndParent,HINSTANCE hInstance, DWORD dwStyle,LPSTRs zFile);
·实现功能
该函数创建一个使用MCI设备的窗口,返回MCI设备窗口的句柄。
·参数说明
hwndParent:父窗口句柄,在本应用中父窗口应为NULL;
hInstance: 当前实例句柄,能够用AfxGet InstanceHandle()函数获得;
dwStyle: MCIWnd窗口的风格;
szFile: 打开的MCI设备的名称,在此处设为NULL。
3.MCIWndOpenO
·函数原型
LONG MCIWndOpen(HWND hwnd,LPVOID szFile,UINT wFlags)
·实现功能
向MCIWnd窗口发送MCIWNDM_OPEN消息,打开某MCI设备,将其关联到一个MCIWnd窗口。若调用成功则返回值为0。
·参数说明
hwnd:MCI窗口句柄;
szFile:MCI文档名;
wFlags:设备打开方式标识。
4.MCIWndPlay()
·函数原型
LONG MCIWndPlay(HWND hwnd)
·实现功能
发送MCI_PLAY消息,MCIWnd窗口接收到该消息,播放已打开的MCI文档。
·参数说明
hwnd:MCI窗口句柄;
5.MCIWndUseTime()
该函数将MCI设备的时间格式配置为毫秒;配置其他时间格式能够用函数MCIWndSetTime Format()实现。
6.MCIWndGetLength()
该函数向MCIWnd窗口发送MCIWNDM_GETLENGTH消息,根据MCI设备所使用的时间格式返回文档的长度。
7.MCIWndDestroy()
该函数向窗口发送一个WM_CLOSE消息,窗口接收到该消息之后,关闭所打开的MCI文档,并关闭窗口。虽然SDK还提供了一个MCIWndClose函数,但该函数只能关闭在MCIWnd窗口中打开的文档,而MCIWnd窗口仍处于开启状态,仍能够打开其他MCI文档并进行播放。




