Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16497628
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:54:57

下载本文示例代码
  当我们使用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文件并进行播放。 共2页。 1 2 :   当我们使用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文件并进行播放。 共2页。 1 2 : 下载本文示例代码


制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面制作VC 应用程序的多媒体封面
阅读(137) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~