MFC如何添加一个按钮,点击的时候可以播放MP3格式的音乐 mp3mfc 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先包含头文件 #include <Vfw.H>在项目属性->配置属性->Linker->Input->Additional Dependencies 写入 VFW32.libHWND hMCI;CString choose = _T("E:\\MyDocument\\Music\\1.mp3"); //音乐文件的路径 hMCI = MCIWndCreate(NULL, NULL,WS_POPUP|MCIWNDF_NOPLAYBAR|MCIWNDF_NOMENU,choose); MCIWndPlay(hMCI); //播放音乐 该函数需要: #include <mmsystem.h> #pragma comment(lib, "WINMM.LIB") char buf[128]; //use mciSendString() //mciSendString("play e:\\songs\\把根留住.mp3",buf,sizeof(buf),NULL); //mciSendString("play e:\\songs\\zhj.mp3",buf,sizeof(buf),NULL); //char str[128] = {0}; //int i = 0; //use mciSendCommand MCI_OPEN_PARMS mciOpen; MCIERROR mciError; //mciOpen.lpstrDeviceType = (LPCTSTR)MCI_ALL_DEVICE_ID; //mciOpen.lpstrDeviceType = "waveaudio"; //只能播放.wav文件 //mciOpen.lpstrDeviceType = "avivideo"; //*.avi mciOpen.lpstrDeviceType = "mpegvideo"; //mciOpen.lpstrDeviceType = "sequencer"; mciOpen.lpstrElementName = "e:\\music\\forever.mp3"; //mciOpen.lpstrElementName = "e:\\movie\\first.avi"; //mciOpen.lpstrElementName = "c:\\winnt\\media\\Windows 登录音.wav"; mciError = mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE | MCI_OPEN_ELEMENT,(DWORD)&mciOpen); if(mciError) { mciGetErrorString(mciError,buf,128); MessageBox("send MCI_PLAY command failed", "ERROR"); return; } UINT DeviceID = mciOpen.wDeviceID ; MCI_PLAY_PARMS mciPlay; //mciError = mciSendCommand(DeviceID,MCI_PLAY,0 ,(DWORD)&mciPlay); //MCI_FROM | MCI_TO | mciError = mciSendCommand(DeviceID, MCI_PLAY, MCI_WAIT | MCI_DGV_PLAY_REPEAT, (DWORD) (LPMCI_PLAY_PARMS)&mciPlay); //MCI_DGV_PLAY_REPEAT, 要 #include "Digitalv.h" if(mciError) { mciGetErrorString(mciError,buf,128); MessageBox("send MCI_PLAY command failed", "ERROR"); return; } /* while(1) { i++; Sleep(1000); } */ 代码是帮你从其他地方拷来的。路径用相对路径 vs2005,找不到ctime.h文件 MFC编程,设置ListCtrl控件(Report类型)的行高,总是不成功,麻烦大家帮忙看下。(代码只有几行) 任何去掉VS代码编辑器上变量名函数名的白色背景 有没有比较好的 开源的 曲线图??? 求MSChart下载地址 list control问题 求救!请问哪里有emule的源代码下载呀!急!!!!!! 会内存泄漏吗? 有几个问题: CreateInstance失败 inside atl程序TipOfTheDay 请教关于 ::CoInitialize 的问题 opencv2实现按钮了么?
在项目属性->配置属性->Linker->Input->Additional Dependencies 写入 VFW32.libHWND hMCI;
CString choose = _T("E:\\MyDocument\\Music\\1.mp3"); //音乐文件的路径
hMCI = MCIWndCreate(NULL, NULL,WS_POPUP|MCIWNDF_NOPLAYBAR|MCIWNDF_NOMENU,choose);
MCIWndPlay(hMCI); //播放音乐
该函数需要:
#include <mmsystem.h>
#pragma comment(lib, "WINMM.LIB")
char buf[128];
//use mciSendString()
//mciSendString("play e:\\songs\\把根留住.mp3",buf,sizeof(buf),NULL);
//mciSendString("play e:\\songs\\zhj.mp3",buf,sizeof(buf),NULL);
//char str[128] = {0};
//int i = 0;
//use mciSendCommand
MCI_OPEN_PARMS mciOpen;
MCIERROR mciError;
//mciOpen.lpstrDeviceType = (LPCTSTR)MCI_ALL_DEVICE_ID;
//mciOpen.lpstrDeviceType = "waveaudio"; //只能播放.wav文件
//mciOpen.lpstrDeviceType = "avivideo"; //*.avi
mciOpen.lpstrDeviceType = "mpegvideo";
//mciOpen.lpstrDeviceType = "sequencer";
mciOpen.lpstrElementName = "e:\\music\\forever.mp3";
//mciOpen.lpstrElementName = "e:\\movie\\first.avi";
//mciOpen.lpstrElementName = "c:\\winnt\\media\\Windows 登录音.wav";
mciError = mciSendCommand(0,MCI_OPEN,MCI_OPEN_TYPE | MCI_OPEN_ELEMENT,(DWORD)&mciOpen);
if(mciError)
{
mciGetErrorString(mciError,buf,128);
MessageBox("send MCI_PLAY command failed", "ERROR");
return;
}
UINT DeviceID = mciOpen.wDeviceID ;
MCI_PLAY_PARMS mciPlay;
//mciError = mciSendCommand(DeviceID,MCI_PLAY,0 ,(DWORD)&mciPlay);
//MCI_FROM | MCI_TO |
mciError = mciSendCommand(DeviceID, MCI_PLAY, MCI_WAIT | MCI_DGV_PLAY_REPEAT,
(DWORD) (LPMCI_PLAY_PARMS)&mciPlay); //MCI_DGV_PLAY_REPEAT, 要 #include "Digitalv.h"
if(mciError)
{
mciGetErrorString(mciError,buf,128);
MessageBox("send MCI_PLAY command failed", "ERROR");
return;
}
/*
while(1)
{
i++;
Sleep(1000);
}
*/
代码是帮你从其他地方拷来的。路径用相对路径