c++/mfc 播放音乐,视频文件

  要求在qt下用c++写一个程序,要打开光驱,就插到了mciSendString函数。不过都是xp平台下的,呵呵,不过不怕。在qt的代码里引用windows.h就好了,然后记得用msiSendStringA或者msiSendStringW。

  顺便贴下msiSendString函数的用法,感觉还挺不错的。另外越来越觉得qt的强大,开源的好处了,逐渐远离vs2005拉。

 mciSendString是用来播放多媒体文件的API指令,可以播放MPEG,AVI,WAV,MP3,等等,下面介绍一下它的使用方法:

该函数有四个参数:
第一个参数:要发送的命令字符串。字符串结构是:[命令][设备别名][命令参数].
第二个参数:返回信息的缓冲区,为一指定了大小的字符串变量.
第三个参数:缓冲区的大小,就是字符变量的长度.
第四个参数:回调方式,一般设为零
返回值:函数执行成功返回零,否则返回错误代码

使用该函数必须要加载下面头部和连接

#include <mmsystem.h>
#pragma comment(lib, "WINMM.LIB")

一,打开多媒体文件。

  首先在Dialog上面放一个Picture控件,MCISendString就在这个Picture控件的平面上播放多媒体文件,

  设Picture控件的ID为IDC_STATIC1:

  CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATIC1);HWNDh=pStatic->GetSafeHwnd();

  CString open1;

  char buf[256];

  open1.Format("open f:""mpeg""mpeg1.avi type MPEGVideo Aliasmovie parent %u Style %u notify", h,WS_CHILD);

  mciSendString(open1.GetBuffer(open1.GetLength()),buf,sizeof(buf),NULL);

  这样F盘下面的mpeg目录下的mpeg1.avi就打开了,其中的typeMPEGVideo是指打开MPEG,AVI等类型,如果不加type MPEGVideo这一句,就是打开WAV,MP3等,Aliasmovie定义了mpeg1.avi的别名为movie,以后可以通过操作movie就可以操作mpeg1.avi。

  二,播放多媒体文件。

  上面我们已经打开了f:"mpeg"mpeg1.avi,现在我们来播放它:

  mciSendString("play movie",buf,sizeof(buf),NULL);

  如果想全屏播放:

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值