手把手教您用MFC做MP3音乐播放器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
打开vc6.0,建立如图所示mfc工程文件
选择基于对话框的确定
删除所有空间,建立如图所示对话框
属性如下:
播放IDC_open;
添加IDC_fileopen;
暂停IDC_pause;
删除IDC_del;
停止IDC_stop;
退出IDC_exit;
音乐名编辑框IDC_filename;音量控制滑块IDC_SLIDER1;音量控制编辑框IDC_vol;
建立类向导对应如下:
在onpaint函数下添加代码
void CMp3Dlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
//CDialog::OnPaint();
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP6); /IDB_BITMAP6是你的位图地址
BITMAP bitmap;
bmpBackground.GetBitmap(&bitmap);
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight ,SRCCOPY);
}
}
编译运行,你就会看到背景有图片了。
插入-类,找到geneticclass,类名mp3.cpp
你会发现在头文件中多了一个mp3.h文件
在mp3.h文件中添加代码如下
// Mp3.h: interface for the Mp3 class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MP3_H__20D325E5_A96A_43FE_A485_92F57C68DD0D__INCLUDED_)
#define AFX_MP3_H__20D325E5_A96A_43FE_A485_92F57C68DD0D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Mmsystem.h"
class Mp3
{
public:
Mp3();
virtual ~Mp3();
HWND m_hWnd; //¼Ç¼µ±Ç°´°¿ÚµÄ¾ä±ú
DWORD DeviceID;//Ö¸¶¨²¥·ÅÒôÀÖµÄÉ豸ID
MCI_OPEN_PARMS mciopenparms; //Ö¸¶¨´ò¿ªÒôÀÖÎļþµÄ²ÎÊý
void Load(HWND hwnd,CString Strfilepath);
DWORD getinformation(DWORD item);
void Play();
void Pause();
void resum();
void Stop();
};
#endif // !defined(AFX_MP3_H__20D325E5_A96A_43FE_A485_92F57C68DD0D__INCLUDED_) 在mp3.cpp中添加如下代码
// Mp3.cpp: implementation of the Mp3 class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Mp3²¥·ÅÆ÷.h"
#include "Mp3.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif