#include "stdafx.h"
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib");
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
//1.打开设备
MCI_OPEN_PARMS openParms; //MCI_OPEN命令需要参数结构体
openParms.lpstrDeviceType="MPEGvideo"; //MP3的文件设备ID为MPEGvideo
openParms.lpstrElementName="C://1.MP3"; //MP3文件的存放路径
//发送命令
mciSendCommand(
NULL, //打开设备不需要设备ID
MCI_OPEN, //MCI_OPEN,此命令表示打开设备
MCI_OPEN_ELEMENT|MCI_OPEN_TYPE|MCI_WAIT,
(DWORD)(LPVOID(&openParms)));//传递MCI_OPEN_PARMS参数
/*MCI_OPEN_ELEMENT 表示MCI_OPEN_PARMS的lpstrElementName有效
MCI_OPEN_TYPE表示MCI_OPEN_PARMS的lpstrDeviceType有效
MCI_WAIT表示命令发送后会一直等待,知道操作完成
(如果是MCI_NOTIFY,则表示发送命令后会立即返回,当操作真正完毕后发出通告消息)*/
//设备打开完毕,设备ID被存放到openParms.wDeviceID中
WORD m_wDeviceID=openParms.wDeviceID;
//2、播放设备
MCI_PLAY_PARMS playParms;//MCI_PLAY命令需要的参数结构体
mciSendCommand(
m_wDeviceID,//需要的设备ID
MCI_PLAY,//此命令播放设备
MCI_WAIT,//等待播放文件结束,然后返回
(DWORD)(LPVOID(&playParms)));//传递MCI_PLAY_PARMS参数
//3,关闭设备
mciSendCommand(
m_wDeviceID,
MCI_CLOSE,
NULL,
NULL);
return 0;
}