1. 首页
  2. 文档大全

音乐播放器制作

上传者:97****76 2022-07-13 18:27:27上传 PPT文件 1.98MB
音乐播放器制作_第1页 音乐播放器制作_第2页 音乐播放器制作_第3页

《音乐播放器制作》由会员分享,可在线阅读,更多相关《音乐播放器制作(48页珍藏版)》请在文档大全上搜索。

1、音乐播放器制作流程示意图: (1)建立工程 (2)建立界面 (3)写代码实现功能建立MFC工程把工程命名为Tao_Music选为基于对话框创建完成添加控件如图所示改变控件属性,使其尽可能美观控件更改后应该是这个样子引入32*32像素的BMP格式的照片为程序连接变量新建MP3类为mp3头文件添加函数#include mmsystem.h/必须同时引入#pragma comment(lib,Winmm.lib)class mp3 public:mp3(); virtual mp3(); HWND m_hWnd;/3个变量DWORD DeviceID; MCI_OPEN_PARMS mciopenp

2、arms; void Load(HWND hwnd,CString Strfilepath); DWORD getinformation(DWORD item);void Play();void Pause();void resum();void Stop(); DWORD Setvolumn(DWORD vol);为MP3源文件添加代码#include StdAfx.h#include mp3.h#include Digitalv.h mp3:mp3() mp3:mp3()/加载函数void mp3:Load(HWND hwnd,CString Strfilepath)/MessageBox

3、(hwnd,Strfilepath,43,MB_ICONHAND);m_hWnd=hwnd;mciSendCommand(DeviceID,MCI_CLOSE,0,0);/在加载文件前先清空上一次播放的设备mciopenparms.lpstrElementName=Strfilepath;/将音乐文件路径传给设备DWORD dwReturn;if (dwReturn=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT|MCI_WAIT,(DWORD)(LPVOID)&mciopenparms)/如果打开文件失败,则将出错信息储存在buffer,并

4、显示出错警告 char buffer256; mciGetErrorString(dwReturn,buffer,256);/MessageBox(hwnd,buffer,HeHe,You Are Wrong!,MB_ICONHAND|MB_ICONERROR|MB_ICONSTOP);/打开文件成功就关联文件到设备DeviceID=mciopenparms.wDeviceID;DWORD mp3:getinformation(DWORD item)MCI_STATUS_PARMS mcistatusparms;mcistatusparms.dwItem=item;mcistatusparms

5、.dwReturn=0;mciSendCommand(DeviceID,MCI_STATUS,MCI_STATUS_ITEM,(DWORD)&mcistatusparms); return mcistatusparms.dwReturn; /播放函数void mp3:Play()MCI_PLAY_PARMS mciplayparms;mciplayparms.dwCallback=(DWORD)m_hWnd;mciplayparms.dwFrom=0;/每次播放都是从0开始播放mciSendCommand(DeviceID,MCI_PLAY,MCI_FROM|MCI_NOTIFY,(D

6、WORD)(LPVOID)&mciplayparms);/暂停void mp3:Pause()mciSendCommand(DeviceID,MCI_PAUSE,0,0);/重播void mp3:resum()mciSendCommand(DeviceID,MCI_RESUME,0,0);/停止void mp3:Stop()mciSendCommand(DeviceID,MCI_STOP,0,0);mciSendCommand(DeviceID,MCI_CLOSE,0,0);/当点击停止按钮时,将所有的信息都清除掉/设置音量DWORD mp3:Setvolumn(DWORD vol)M

7、CI_DGV_SETAUDIO_PARMS mcisetvolumn; mcisetvolumn.dwCallback=(DWORD)m_hWnd;mcisetvolumn.dwItem=MCI_DGV_SETAUDIO_VOLUME;mcisetvolumn.dwValue=vol;mciSendCommand(DeviceID,MCI_SETAUDIO,MCI_DGV_SETAUDIO_VALUE|MCI_DGV_SETAUDIO_ITEM,(DWORD)(LPVOID)&mcisetvolumn);/return mcisetvolumn.dwValue;return 0;修改T

8、ao_MusicDlg.h在CTao_MusicDlg类里加入下面函数和变量public:void Show(int cnt);void addsong(TCHAR * name);void suiji();void pre();void next();void drawpic(int nTimerID);BOOL AnalyseLrc(TCHAR* LrcFile);/歌词解析函数BOOL DownLoad(TCHAR* Url, TCHAR* SaveName);/下载资源函数bool down(TCHAR* song,TCHAR* songer,TCHAR* getstr);/下载XML

9、资源函数public:int hour,minute,second;CString cursong;int showstr;int donghuakind;/动画种类初始化时给一个随机数,选择显示的动画种类CImageListm_imList;typedef struct _LRC_INFO/定义歌词结构体int Time;TCHAR Lyric256;LRC_INFO;LRC_INFO LrcInfo500;修改Tao_Music.cpp在include下面再引入下面几个文件和库:#include mp3.h#include mmsystem.h#include digitalv.h#inc

10、lude #include #pragma comment(lib,Winmm.lib)#pragma comment(lib,wininet.lib) #pragma comment(lib, shlwapi.lib)程序初始化初始化代码如下SetWindowText(MP3播放器); /标题m_slider.SetRange(0,1000); /移动范围m_slider.SetPos(500); /滑块指针的初始位置GetDlgItem(IDC_open)-EnableWindow(FALSE); GetDlgItem(IDC_del)-EnableWindow(FALSE);/List

11、初始化-/ 设置CListCtrl控件扩展风格:整行选中子项目图标列表|LVS_EX_GRIDLINESDWORD dwStyle; dwStyle =m_StoreItems.GetExtendedStyle(); dwStyle = dwStyle|LVS_EX_FULLROWSELECT|LVS_EX_SUBITEMIMAGES ;m_StoreItems.SetExtendedStyle(dwStyle); / 载入32*32像素 24位真彩(ILC_COLOR24)图片m_imList.Create(32,32,ILC_COLOR24,10,20); / 创建图像序列CImageLi


文档来源:https://www.renrendoc.com/paper/212701484.html

文档标签:

下载地址