龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

制作VC++应用程序的多媒体封面

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
当我们使用Visual C++(以下简称VC)开发的应用程序时,若能为应用程序制作一个生动的多媒体封面(如播放一段AVI影视)一定能使应用程序增色不少。有两种方法可以实现这个功能,一种方法是

当我们使用Visual C++(以下简称VC)开发的应用程序时,若能为应用程序制作一个生动的多媒体封面(如播放一段AVI影视)一定能使应用程序增色不少。有两种方法可以实现这个功能,一种方法是使用底层AVI文件&&函数,从AVI视频文件中读取视频流,尽管这种方法可以控制整个播放过程,但需要编写大量代码;另一种更简便的实现方法是使用现有的Video for W indows SDK的窗口类MCIWnd(媒体控制界面窗口),这种方法比较易于操作,现介绍如下。

  设计思想及关键技术

  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窗口句柄;

精彩图集

赞助商链接