用mcisendstring播放视频

函数原型

MCIERROR mciSendString(
LPCTSTR lpszCommand,
LPTSTR lpszReturnString,
UINT cchReturn,
HANDLE hwndCallback);

1.打开视频文件

目前测试只能播放,.wmv,avi,mp3文件

TCHAR aviPath[]=TEXT("E:\\薛之谦_追梦人.wmv"); //视频文件地址
TCHAR openCmdStr[256]={0};
_Stprintf_s(openCmdStr,TEXT("open %s type MPEGVide alias MyPlay parent %u style %u notify"),
	avePath,hWnd,WS_CHILD);
micSendString(openCmdStr,0,0,0);

//open 		打开视频文件
//type 		文件样式为视频文件(MPEGVide)
//alias 	别名(MyPlay)为后续操作用
//parent 	视频显示窗口(hWnd)
//style 	窗口显示样式(子窗口样式WS_CHILD)
//notify 	发送WM_NOTIFY消息

2.播放视频

mciSendString(TEXT("play MyPlay repeat"),0,0,0);
//play 播放视频
//MyPlay 打开文件时设置的别名
//repeat 循环播放

3.设置视频窗口的大小

RECT rcClient={0};
GetClient(hWnd,&rcClient); //获得当前窗口客服区大小

TCHAR putCmdStr[256]={0};
_stprintf_s(putCmdStr,TEXT("put MyPlay window client as %d %d %d %d"),
	rcClient.left,rcClient.top,rcClient.right,rcClient.bottom);
mciSengString(putCmdStr,0,0,0);

//put 设置属性
//window 播放窗口
//client 客服区矩形位置(x.y,width,height)


4.其他常用命令

全屏: play MyPlay fullscreen
暂停: pause MyPlay
停止: stop MyPlay
关闭: close MyPlay
继续: resume MyPlay

5.获得频数文件总时间长度(ms)

char szTimer[256]={0};
mciSendStringA("Status MyPlay length",szTimer,256,0);
long lTimer=strtol(szTimer,null,10);
//status 视频文件状态
//length 文件时间长度

6.获得当前播放的时间

char curPos[256]={0};
mciSendStringA("status MyPlay position",curPos,256,0);
long lCurPos=strtol(curPos,0,10);
//position 当前播放时间

7.播放指定时间位置

TCHAR seekStr[256]={0};
_stprintf_s(seekStr,TEXT("seek MyPlay to %ld"),lCurPos);
mciSendString(seekStr,0,0,0);

8.获得视频的声音大小

char chVolume[256];
mciSendStringA("status movie volume",chVolume,255,0);
long lVolume=strtol(chVolume,NULL,10);
//其中lVolume就是所播放文件的声音大小。

9.设置声音大小(1-1000)

int nVolume=500;
TCHAR setCmdStr[256]={0};
_stprintf_s(setCmdStr,TEXT("setaudio MyPlay volume to %d"),nVolume);
mciSendString(setCmdStr,0,0,0);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值