龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC:大型WAV文件的播放(2)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
DWORD OpenDevice(); DWORD CloseDevice(); DWORD Play(CWnd *pParentWnd,LPCSTR pFileName); DWORD Stop(); //Implementation protected: void DisplayErrorMsg(DWORD dwError); //Members protected: MCIDEVICEID m
DWORD OpenDevice();
DWORD CloseDevice();
DWORD Play(CWnd *pParentWnd,LPCSTR pFileName);
DWORD Stop();

//Implementation
protected:
void DisplayErrorMsg(DWORD dwError);

//Members
protected:
MCIDEVICEID m_nDeviceID;
MCIDEVICEID m_nElementID;
  };

  //Cwave类的实现代码,Cwave.cpp

  #include
  #include "cwave.h"

  CWave::CWave()
  {
   m_nDeviceID=0;
   m_nElementID=0;
  }

  CWave::~CWave()
  {
   if(m_nElementID)
   Stop();
   if(m_nDeviceID)
   CloseDevice();
  }

  DWORD CWave::OpenDevice()
  {
   DWORD dwResult=0;
   if (m_nDeviceID)

MCI_OPEN_PARMS mciOpenParms;
   mciOpenParms.lpstrDeviceType=(LPSTR)MCI_DEVTYPE_WAVEFORM_AUDIO;
//open the wave device
  dwResult=mciSendCommand(NULL,MCI_OPEN,
MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|MCI_WAIT,
(DWORD)(LPVOID)&mciOpenParms);
//save device identifier,will use eith other MCI commands
m_nDeviceID=mciOpenParms.wDeviceID;
//display error message if failed
if(dwResult)
DisplayErrorMsg(dwResult);
}
//return result of MCI operation
return dwResult;
  }

精彩图集

赞助商链接