mciSendString

 
  mciSendString是用来播放多媒体文件的API指令,可以播放MPEG,AVI,WAV,MP3,等等,下面我们来介绍一
 
  下它的使用方法:
 
  一,打开多媒体文件。
 
  首先在Dialog上面放一个Picture控件,MCISendString就在这个Picture控件的平面上播放多媒体文件,
 
  设Picture控件的ID为IDC_STATIC1:
 
  CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATIC1);HWND h=pStatic->GetSafeHwnd();
 
  CString open1;
 
  char buf[256];
 
  open1.Format("open f:""mpeg""mpeg1.avi type MPEGVideo Alias movie parent %u Style %u notify", h,WS_CHILD);
 
  mciSendString(open1.GetBuffer(open1.GetLength()),buf,sizeof(buf),NULL);
 
  这样F盘下面的mpeg目录下的mpeg1.avi就打开了,其中的type MPEGVideo是指打开MPEG,AVI等类型,如果不加
 
  type MPEGVideo这一句,就是打开WAV,MP3等,Alias movie定义了mpeg1.avi的别名为movie,以后可以通过操
 
  做movie就可以操作mpeg1.avi。
 
  二,播放多媒体文件。
 
  上面我们已经打开了f:"mpeg"mpeg1.avi,现在我们来播放它:
 
  mciSendString("play movie",buf,sizeof(buf),NULL);
 
  如果想全屏播放:
 
  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)