发布网友
共1个回答
热心网友
用VS2003或2005建一个带MFC的名为Mp3Player的控制台应用程序,把这些代码复制到Mp3Player.cpp
// Mp3Player.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "Mp3Player.h"
#include "mmsystem.h"
#pragma comment(lib, "Winmm.lib")
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 唯一的应用程序对象
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// 初始化 MFC 并在失败时显示错误
if (!AfxWinInit(::GetMoleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: 更改错误代码以符合您的需要
_tprintf(_T("错误: MFC 初始化失败\n"));
nRetCode = 1;
}
else
{
//"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";
CFileDialog OpenFileDlg(TRUE ,
NULL ,
NULL ,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT ,
_T("MP3 文件(*.mp3)|*.mp3||"));
if (OpenFileDlg.DoModal() == IDOK)
{
CString strFilePath = OpenFileDlg.GetPathName();
MCI_OPEN_PARMS mop;
mop.dwCallback = NULL;
mop.lpstrAlias = NULL;
mop.lpstrDeviceType = _T("MP3");
mop.lpstrElementName = strFilePath;
mop.wDeviceID = 0;
MCIERROR err = mciSendCommand(NULL ,
MCI_OPEN ,
MCI_OPEN_ELEMENT ,
(DWORD)&mop);
MCI_PLAY_PARMS mpp;
mpp.dwCallback = NULL;
mpp.dwFrom = 0;
mpp.dwTo = 0;
err = mciSendCommand(mop.wDeviceID , MCI_PLAY , MCI_FROM | MCI_NOTIFY, (DWORD_PTR)&mpp);
}
}
getchar();
return nRetCode;
}