VC用MCI播放mp3等音乐文件

  VC播放mp3等音乐文件,可以使用MCI。
MCI ( Media Control Interface ) ,即媒体控制接口,向基于Windows操作系统的应用程序提供了高层次的控制媒体设备接口的能力。
    对于所有的命令都是通过mciSendCommand进行发送。
    InfosystemShow中的CMyMCI类是对MCI各种操作的封装,包括打开、播放、暂停等操作,在主程序中,只需调用  
    CMyMCI m_myMCI;
    m_myMCI.MCIOpen("E:\\Kalimba.mp3");
    m_myMCI.MCIPlay();
    while(1)
    {
        Sleep(1000);
    }
    m_myMCI.MCIClose();
    即可完成对音乐的播放。


//打开MCI设备  参数为文件地址
DWORD CMyMCI::MCIOpen(const CString &strPath)
{
  MCI_OPEN_PARMS mciOP;
  DWORD dwReturn;

  ASSERT(m_wID==NULL);
  mciOP.lpstrDeviceType=NULL;
  mciOP.lpstrElementName=strPath;
  dwReturn=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT|MCI_WAIT|MCI_OPEN_SHAREABLE,
      (DWORD)(LPVOID)&mciOP);
  if (dwReturn==0)
  {
      m_wID=mciOP.wDeviceID;
      if(this->MCIGetLength(&m_dwLength)!=0)
          m_dwLength=0;
  }
  else
      m_wID=NULL;
  return dwReturn;
}
//关闭MCI设备
DWORD CMyMCI::MCIClose()
{
  MCI_GENERIC_PARMS mciGP;
  DWORD dwReturn;
  dwReturn=mciSendCommand(m_wID,MCI_CLOSE,MCI_NOTIFY|MCI_WAIT,
      (DWORD)(LPVOID)&mciGP);
  m_wID=NULL;
  return dwReturn;
}
//播放
DWORD CMyMCI::MCIPlay()
{
    MCI_PLAY_PARMS mciPP;
    return mciSendCommand(m_wID,MCI_PLAY,MCI_NOTIFY,
        (DWORD)(LPVOID)&mciPP);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值