使用API FUNCTION 播放MP3.

本文介绍了一种使用MCI API函数mciSendCommand在Windows环境下播放MP3文件的简单方法。通过示例代码展示了如何打开设备、播放指定路径的MP3文件,并提供了关闭和停止播放的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要Play MP3,最简单的方法是使用API 函数mciSendCommand.

以下代码在VS2005下编译通过.在VS2005以下的版本要将IN DWORD_PTR类型替换为DWORD.

首先包含头文件:

#include <Mmsystem.h>  //Support to play mp3.
#include <Digitalv.h>
#pragma comment(lib,"Winmm.lib")

以下是播放代码:

//Get  program directory

  CString strPath;

  TCHAR szFull[_MAX_PATH];

  TCHAR szDrive[_MAX_DRIVE];

  TCHAR szDir[_MAX_DIR];

  ::GetModuleFileName(AfxGetInstanceHandle(), szFull, sizeof(szFull)/sizeof(TCHAR));
  _tsplitpath_s(szFull,szDrive,sizeof(szDrive),szDir,sizeof(szDir),NULL,NULL,NULL,NULL);
  //_tsplitpath(szFull, szDrive, szDir, NULL, NULL);
  _tcscpy_s(szFull, szDrive);
  _tcscat_s(szFull, szDir);
   strPath = CString(szFull);

  strPath+="1.mp3";

UINT wDeviceID;  //device id
    MCIERROR mciError;  //
     MCI_DGV_PLAY_PARMS mciPlay;  //
  MCI_DGV_OPEN_PARMS mciOpen;
 mciOpen.lpstrDeviceType=_T("mpegvideo"); //Device Type
 mciOpen.lpstrElementName=strPath.GetBuffer();  // cstring StrPath is full path of your mp3 file.
 mciError=mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE|MCI_OPEN_ELEMENT,(IN DWORD_PTR)&mciOpen); //open device.
    wDeviceID=mciOpen.wDeviceID;
    mciError=mciSendCommand(wDeviceID, MCI_PLAY, MCI_DGV_PLAY_REPEAT,(IN DWORD_PTR)&mciPlay); //play mp3 file
  

如果要关闭:   mciSendCommand(wDeviceID,MCI_CLOSE, NULL,NULL);
如果要停止:   mciSendCommand(wDeviceID,MCI_STOP, NULL,NULL);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值