函数原型
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);