Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8700967
  • 博文数量: 1413
  • 博客积分: 11128
  • 博客等级: 上将
  • 技术积分: 14685
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 10:03
个人简介

follow my heart...

文章分类

全部博文(1413)

文章存档

2013年(1)

2012年(5)

2011年(45)

2010年(176)

2009年(148)

2008年(190)

2007年(293)

2006年(555)

分类: C/C++

2006-09-13 09:08:25

[点评:这里mid文件的播放也是通过MCI完成的,当然还有其它的办法,以后再探讨吧.]
在MFC中使用如下代码:
#i nclude "mmsystem.h"
#pragma comment(lib,"winmm.lib")
#i nclude "vfw.h"
//project/setting/Link---"vfw32.lib"

HWND hmciwnd;
//hmciwnd=MCIWndCreate(NULL,NULL,0,"c:\\mov25.mid");
//注意:上面的代码播放窗口会单独浮现出来 hmciwnd=MCIWndCreate(this->m_hWnd,AfxGetInstanceHandle(),0,"c:\\mov25.mid");
MCIWndPlay(hmciwnd);
同时播放两个
HWND hmci1,hmci2; //声明mci窗口句柄;
CString str1,str2;
str1="E:\\*.wav"; //*.mpe等也可
str2="E:\\*.wav";
hmci1=MCIWndCreate(NULL,NULL,0,str1);
hmci2=MCIWndCreate(NULL,NULL,0,str2);
MCIWndPlay(hmci1); //播放文件;
MCIWndPlay(hmci2);


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文件并进行播 放。
阅读(1076) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~