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

2008-02-23 05:05:47来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

当我们使用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窗口句柄;

  5.MCIWndUseTime()

  该函数将MCI设备的时间格式配置为毫秒;配置其他时间格式能够用函数MCIWndSetTime Format()实现。

  6.MCIWndGetLength()

  该函数向MCIWnd窗口发送MCIWNDM_GETLENGTH消息,根据MCI设备所使用的时间格式返回文档的长度。

  7.MCIWndDestroy()

  该函数向窗口发送一个WM_CLOSE消息,窗口接收到该消息之后,关闭所打开的MCI文档,并关闭窗口。虽然SDK还提供了一个MCIWndClose函数,但该函数只能关闭在MCIWnd窗口中打开的文档,而MCIWnd窗口仍处于开启状态,仍能够打开其他MCI文档并进行播放。



[1] [2] 下一页

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 用C编写Windows服务程式的五个步骤

下一篇: C语言嵌入式系统编程修炼之背景篇

热门词条
热门标签