mciSendString(open1.GetBuffer(open1.GetLength()),buf,sizeof(buf),NULL);
来自 <mciSendString_百度百科>
Type MPEGVideo 是指打开MPEG,AVI等类型,如果不加该语句,就是打开WAV,MP3等。
Alias movie 定义了mpeg1.avi的别名movie,之后可以通过操作movie来操纵mpeg1.avi.
来自 <mciSendString_百度百科>
播放多媒体文件
mciSendString("play movie fullscreen",buf,sizeof(buf),NULL);全屏播放
mciSendString("pause movie",buf,sizeof(buf),NULL);
暂停播放
mciSendString("close movie",buf,sizeof(buf),NULL);
停止播放
char sPosition[256];long lLength;
mciSendString("Status movie length", sPosition, 255,0);
lLength=strtol(sPosition, NULL, 10);
其中lLength就是所播放文件的长度。注意:该长度单位是毫秒。
得到所播放文件的长度
char chVolume[256];long lVolume;
mciSendString("status movie volume",chVolume,255,0);
lVolume=strtol(chVolume,NULL,10);
其中lVolume就是所播放文件的声音大小。
得到所播放文件的声音大小
CString step1;long lPosition;
lPosition=100;
step1.Format("seek movie to %ld",lPosition);
mciSendString(step1.GetBuffer(step1.GetLength()),buf,sizeof(buf),0);
其中lPosition就是要到的播放位置,可以由你指定。
到你指定的位置播放
- mciSendString("play movie",buf,sizeof(buf),NULL);
- open1.Format("open f:\\mpeg\\mpeg1.avi type MPEGVideo Alias movie parent %u Style %u notify", h,WS_CHILD);


设备名是在注册表或SYSTEM.INI的[mci]部分定义的,典型的[mci]段如下:
[mci]
cdaudio=mcicda.drv
sequencer=mciseq.drv
waveaudio=mciwave.drv
avivideo=mciavi.drv
videodisc=mcipionr.drv
等号的左边是设备名,右边是对应的MCI驱动程序。当安装了新的MCI驱动程序时,系统要用不同的设备名来区分。
常用MCI命令:
open 打开设备
close 关闭设备
play 开始设备播放
stop 停止设备的播放或记录
record 开始记录
save 保存设备内容
pause 暂停设备的播放或记录
resume 恢复暂停播放或记录的设备
seek 改变媒体的当前位置
capacility 查询设备能力
info 查询设备的信息
status 查询设备状态信息
record 和save 命令不是所有MCI设备都适用!


