简单音乐播放器实验报告副本Word下载.docx

上传人:b****3 文档编号:13645731 上传时间:2022-10-12 格式:DOCX 页数:24 大小:139.94KB
下载 相关 举报
简单音乐播放器实验报告副本Word下载.docx_第1页
第1页 / 共24页
简单音乐播放器实验报告副本Word下载.docx_第2页
第2页 / 共24页
简单音乐播放器实验报告副本Word下载.docx_第3页
第3页 / 共24页
简单音乐播放器实验报告副本Word下载.docx_第4页
第4页 / 共24页
简单音乐播放器实验报告副本Word下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

简单音乐播放器实验报告副本Word下载.docx

《简单音乐播放器实验报告副本Word下载.docx》由会员分享,可在线阅读,更多相关《简单音乐播放器实验报告副本Word下载.docx(24页珍藏版)》请在冰豆网上搜索。

简单音乐播放器实验报告副本Word下载.docx

Xxxxxxx

一、课题描述

音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。

利用MFC应用程序、媒体控制接口MIC的基本知识,设计一个功能非常简单易于操作的MP3播放器。

要求能够播放常用Windows音频格式的文件;

实现播放控制:

播放、暂停、音量增减、添加歌曲等功能;

实现从本地磁盘加入文件,然后对其进行播放。

本程序是基于MFC对话框的简单程序实现音乐的简单控制。

二、功能分析

MFC简单音乐播放器主要对常用Windows音频格式的文件实现播放控制:

播放歌曲、暂停播放、停止播放等;

实现音量控制:

静音、声音放大以及声音减小的功能。

利用MCI基本知识实现相关功能。

通过该程序可以实现简单的音乐播放。

核心是让音乐文件和音乐播放设备关联。

三、源代码和截图

具体属性和类向导如下:

实现后截图:

四、实验心得:

实现播放时间的控制是我在实验时遇到的难题,通过上网查询资料得以实现。

制作音乐播放器其实是个挺有趣的体验,完成了也有小小成就感。

但这个简易音乐播放器还有许多功能尚未实现,例如同步歌词显示等等,要真正做一个完善的播放器还需要很多努力。

各个控件的函数如下:

//浏览

voidCMFCDlg:

:

Onfilechoice()

{

charszFileFilter[]="

mp3文件(*.mp3)|*.mp3|"

"

wma文件(*.wma)|*.wma|"

wav文件(*.wav)|*.wav|"

所有文件(*.*)|*.*|"

;

CFileDialogdlg(true,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);

if(dlg.DoModal()==IDOK)

CStringstrFilepath=dlg.GetPathName();

CStringstrFilename=dlg.GetFileName();

SetDlgItemText(IDC_filename,strFilename);

Load(this->

m_hWnd,strFilepath);

GetDlgItem(IDC_play)->

EnableWindow(true);

//文件读取成功时所有按钮变可选的

GetDlgItem(IDC_pause)->

GetDlgItem(IDC_stop)->

m_list.InsertString(m_list.GetCount(),strFilename);

m_list.SetCurSel(m_list.GetCount()-1);

 

}

//播放

Onplay()

CStringstrfilename;

intindex=m_list.GetCurSel();

CStringmtime;

CClientDCdc(this);

hour=0;

minute=0;

second=0;

dc.SetBkColor(RGB(124,252,0));

//设置放置计数器区域的外观

dc.SetTextColor(RGB(255,255,203));

//设置数字显示的颜色

mtime.Format("

%02d:

%02d"

hour,minute,second);

//显示时间进度

dc.TextOut(320,85,mtime);

if(index==-1)

MessageBox("

请添加音乐"

);

return;

m_list.GetText(index,strfilename);

SetDlgItemText(IDC_filename,strfilename);

stop();

m_hWnd,strfilename);

play();

SetTimer(0,1000,NULL);

//暂停

Onpause()

CStringstrtemp;

GetDlgItemText(IDC_pause,strtemp);

//获取按钮状态

if(strtemp.Compare("

暂停"

)==0)

pause();

SetDlgItemText(IDC_pause,"

恢复"

KillTimer(0);

//取消计数器的显示

resume();

//停止

Onstop()

 

EnableWindow(false);

//当stop按钮按下时,播放和暂停应该均不可用

GetDlgItem(IDC_del)->

//添加

Onfileopen()

charfilefiler[]="

CFileDialog 

dlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT|OFN_ENABLESIZING,filefiler);

if(dlg.DoModal()==IDOK)

{

CStringstrfilepath=dlg.GetPathName();

CStringstrfilename=dlg.GetFileName();

m_hWnd,strfilepath);

m_list.InsertString(m_list.GetCount(),strfilename);

//获取文件名

//删除

Ondel()

//TODO:

Addyourcontrolnotificationhandlercodehere

UpdateData(TRUE);

SetDlgItemText(IDC_filename,"

if(index!

=CB_ERR)

m_list.DeleteString(index);

OnTimer(UINTnIDEvent)

Addyourmessagehandlercodehereand/orcalldefault

second++;

if(second==60)

minute++;

if(minute==60){

hour++;

DWORDcdf=getinformation(MCI_STATUS_POSITION);

DWORDcdfrom;

cdfrom=MCI_MAKE_MSF(MCI_MSF_MINUTE(cdf),MCI_MSF_SECOND(cdf),MCI_MSF_FRAME(cdf));

UpdateData(false);

CDialog:

OnTimer(nIDEvent);

//双击列表

OnDblclkList()

//上一首

Onprevious()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1