音乐播放器实验报告
数电实验报告-音乐播放器

实验课题:简易乐曲播放器学院:班级:姓名:学号:班内序号:一、设计课题要求 (2)二、设计思路和总体框图 (2)三、分块电路设计 (4)四、仿真波形 (6)五、源程序 (7)六、功能说明 (20)七、所用元器件情况 (20)八、故障及问题分析 (21)九、总结和结论 (22)十、参考文献 (22)一设计课题的任务要求设计制作一个简易乐曲播放器:1. 播放器内预存3 首乐曲;2. 播放模式:顺序播放、随机播放,并用数码管或LED 显示当前播放模式;顺序播放:按内部给定的顺序依次播放3 首乐曲;随机播放:随机产生一个顺序播放3 首乐曲;3. 用数码管显示当前播放乐曲的顺序号;4. 设置开始/暂停键,乐曲播放过程中按该键则暂停播放,再按则继续播放;5. 设置Next 和Previous 键,按Next 键可以听下一首,按Previous 键回到本首开始;6. 选做:用户可以自行设定播放顺序,设置完成后,播放器按该顺序依次播放乐曲;7. 选做:自拟其它功能。
二设计思路和总体框图设计思路:组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的2个基本要素。
乐曲的12平均律规定:每2个八度音之间的频率相差1倍。
在2个八度音之间,又可分为12个半音,每两个半音的频率比为2开12次方。
另外,音符A (简谱中的低音6)的频率为440Hz,音符B到C之间、E到F之间为半音,其余为全音。
由此可以计算出简谱中从低音1至高音1之间每个音符的频率,如下表所示。
产生各音符所需的频率可用分频器实现。
本次实验使用的是MAXⅡ实验板,时钟频率为50MHz,计算出各个音符对应的分频系数,进行50%占空比的分频,即可得到各音符对应的频率。
对于节拍,如果将一拍的长度定为1秒,则1/4拍的时间为1/4秒,为其提供一个4Hz的时钟频率即可产生出1/4拍的效果了。
若需要半拍,只需将该音符记录两次就可以了。
产生节拍时钟也用分频器实现,本次实验中时钟频率为5Hz。
音乐播放器实验报告

一定的物理实件(扬声器),就产生了一定频率的声音。若改变输出 方波的频率,产生的声音随之改变。通过控制输出方波的时间长短, 声音的长短也可以得到控制,因此,根据乐谱,以类似的音及同样 的节拍,单片机就可以产生电子音乐。音乐的播放模式及选择可以 通过按键的输入得以实现。在本次设计中将蜂鸣器连接到 AT89C52 的 P3^7 接口处。
③时钟振荡电路 AT89C51 中有一个用于构成内部振荡器的高增益反向放大器,引 脚 XTAL1 和 XTAL2 分别是该放大器的输入和输出端。
④蜂鸣器播放 声音是通过振动产生的。单片机对某一引脚以一定的频率循环
置 1 置 0,该引脚便产生一定频率的方波,方波通过放大,作用于
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
音乐播放器

数字电路与逻辑设计综合设计实验报告实验名称:简易音乐播放器姓名:班级:071班内序号:一、摘要本实验主要在理论分析和具体的软硬件实现上,完成一个简易的音乐播放器,可以完成上一曲,下一曲,顺序播放,停止,暂停和液晶显示,同时还增加了单曲循环播放功能。
在理论分析的基础上,用VHDL语言编写源代码,再配合具体电路连接,实现对蜂鸣器振动的控制,以及对各项显示功能的切换控制等。
关键字:频率蜂鸣器显示二、设计任务要求n设计制作一个简易乐曲播放器。
1.播放器内预存3首乐曲;2.播放模式:顺序播放、随机播放,并用数码管或LED显示当前播放模式;3.顺序播放:按内部给定的顺序依次播放3首乐曲;4.随机播放:随机产生一个顺序播放3首乐曲;5.用数码管显示当前播放乐曲的顺序号;6.设置开始/暂停键,乐曲播放过程中按该键则暂停播放,再按则继续播放;7.设置Next和Previous键,按Next键可以听下一首,按Previous键回到本首开始;8.选做:用户可以自行设定播放顺序,设置完成后,播放器按该顺序依次播放乐曲;9.选做:自拟其它功能。
三、设计思路和总体设计框图1.分频器讲1MHz的时钟频率分成4Hz,便于输出每个音符2.切换控制器接收到上曲和下曲信号后,自动切换输出时钟;如当正在播放曲1时,收到上曲信号后,自动切换到向曲2提供时钟,中断曲1的时钟;3.每首曲目结束后,自动输出一个单脉冲给复位模块,如果此时是顺序播放模式时,复位模块向控制器输出复位信号;如果此时是单曲重复播放模式时,复位模块屏蔽接收的单脉冲,不向控制器输出信号。
4.曲目向数控分频器依次输入各个音符,在数控分频器中与2047相减后,迫使蜂鸣器振动,由于各个音符的频率不同,振动的频率自然不同,蜂鸣器发出的声音也完全不同。
5.当输入暂停信号时,暂停模块用高电平与时钟相或,从而产生中断时钟的效果;当输入停止信号时,原理同上,只是多输出一个复位信号给切换控制器。
音乐播放器的实验报告

音乐播放器的实验报告音乐播放器的实验报告引言:音乐是人们生活中不可或缺的一部分,而音乐播放器作为传播音乐的工具,在现代社会中扮演着重要的角色。
本次实验的目的是研究音乐播放器的功能和性能,以及对音乐播放器的使用体验进行评估。
一、功能分析音乐播放器的功能主要包括音频播放、音频格式支持、播放列表管理、音量控制、音效调节等。
通过实验测试,我们发现该音乐播放器在这些方面表现出色。
首先,它支持多种音频格式,包括MP3、WAV、FLAC等,能够满足用户对不同音频格式的需求。
其次,播放器具备良好的播放列表管理功能,用户可以根据自己的喜好创建、编辑和删除播放列表,方便快捷地管理自己的音乐。
此外,音乐播放器还提供了音量控制和音效调节功能,用户可以根据自己的需求来调整音量大小和音频效果,提升音乐的听感。
二、性能测试为了评估音乐播放器的性能,我们进行了多项测试。
首先是音频播放质量测试,我们选择了不同类型的音频文件进行播放,并对比了不同音频播放器的音质表现。
结果显示,该音乐播放器在音频播放质量方面表现出众,音质清晰、细腻,能够还原音频本身的特点。
其次是播放稳定性测试,我们将大量音频文件添加到播放列表中,并进行循环播放测试。
结果显示,音乐播放器在长时间播放过程中没有出现卡顿、崩溃等问题,表现稳定可靠。
最后是资源占用测试,我们对音乐播放器的内存占用和CPU占用进行了测试。
结果显示,该音乐播放器在资源占用方面表现较好,占用资源较少,对设备性能的影响较小。
三、用户体验评估除了功能和性能,用户体验也是评价音乐播放器的重要指标之一。
为了评估用户体验,我们进行了用户调研和使用测试。
调研结果显示,用户对该音乐播放器的界面设计和操作方式较为满意,认为界面简洁、直观,操作便捷。
在使用测试中,用户对音乐播放器的播放速度、响应速度和界面切换速度进行了评估,结果显示,音乐播放器在这些方面表现良好,能够满足用户对流畅使用的需求。
此外,用户还对音乐播放器的搜索功能、歌词显示和背景音乐设置等进行了评价,认为这些功能丰富了用户体验,提升了音乐播放的乐趣。
音乐播放器实验报告

目录一、课题的介绍和课题的任务二、设计的要求三、系统的分析和系统中功能的设计四、系统的实现及调试五、系统的使用说明六、总结七、程序主要源代码一、课题的介绍和课题的任务音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。
它涵盖了各种音乐格式的播放工具,比如:MP3播放器,WMA播放器,MP4播放器等。
它们不仅界面美观,而且操作简单,带你进入一个完美的音乐空间。
利用MFC应用程序、媒体控制接口MIC的基本知识,设计一个MP3播放器。
要求能够播放常用Windows 音频格式的文件;实现播放控制:播放、暂停、清空播放列表、音量增减、添加歌曲等功能;实现从本地磁盘加入文件,然后对其进行播放。
二、设计的要求系统模块功能图:流程图:二、系统的分析和系统中功能的设计该播放器分为六大功能模块;1、背景图片:音乐播放器的背景图片。
2序中,将文件进行播放。
3、播放/暂停功能:本地磁盘音乐文件添加完毕,单击播放按钮开始播放音乐,直至播放完毕,单击按钮便可以暂停音乐的播放,再次单击按钮时继续播放。
4、播放列表功能:显示添加的歌曲5、清空播放列表功能:清除播放列表中的全部歌曲。
6、音量功能:控制音量的大小四、系统的实现及调试//说明:主要介绍系统编码的实现以及编码中遇到的问题和解决方法。
界面用动态链接库来实现,播放功能用mciSendCommand函数来实现,用外壳函数数来打开文件选项。
定义三3个类两个对话框类CInfoDlg和CEasyPlayerDlg 一个常用类MCI MCI类用来控制播放功能有以下函数Pause:暂态正在播放的音乐Play:播放Stop:停止播放Load:加载播放的音乐GetMediaString:获取播放的时间进度…CInfoDlg:用于查询歌曲的详细信息CEasyPlayerDlg:用于和用户进行交互他有以下函数:CEasyPlayerDlg::OnBtnPlay();单击播放按钮的单击事件。
电子音乐播放器的制作报告

电子音乐播放器的制作报告电子音乐播放器的制作报告电子音乐已经成为了现代社会生活的一部分,人们现在可以通过多种多样的方式来欣赏自己喜欢的音乐,其中最常见的方式便是使用音乐播放器。
作为一款电子产品,音乐播放器的设计与制作必须非常精细,才能满足人们对音乐播放的各种需求。
本文主要介绍了我们小组制作电子音乐播放器的过程和结果。
1.项目背景和目的本项目的背景是,我们小组需要借助这个项目的机会把课程中学到的知识用于实际项目中。
同时,我们希望能够设计一个高性价比的音乐播放器,满足人们对电子产品的需求。
2.需求分析在开始制作之前,我们进行了需求分析,确定了音乐播放器需要满足以下几个方面的要求:(1)数据存储方便:音乐播放器需要能够方便地存储音乐数据,不仅方便用户管理,同时也便于我们的设计。
(2)播放性能好:音乐播放器需要具备稳定的播放性能,播放出来的音质要好。
(3)体积小便携:在保证功能齐全的前提下,音乐播放器需要尽可能的小,便于携带。
(4)操作简单方便:对于一般用户来说,操作简单方便是我们设计音乐播放器的重要考虑。
3.设计在进行设计时,考虑到音乐播放器需要有大量的存储空间,我们使用了SD卡作为存储介质。
同时,我们采用红外遥控器来方便操作。
在音乐播放的技术实现上,我们使用一款STM32单片机来实现。
该单片机具备较强的处理能力,能够满足我们制作一个高级音乐播放器的需求。
4.关键技术4.1 存储方案通过研究市场上各类音乐播放器,我们发现SD卡存储方式是目前最为普遍的方案。
因此,我们设计的音乐播放器也采用了SD卡存储方案。
我们使用SDIO接口与单片机进行连接。
在操作上,我们使用FATFS文件系统来实现SD卡的读取与写入。
4.2 播放器实现在音乐处理方面,我们使用的是STM32内置DAC芯片,实现了音乐的数字信号转模拟信号。
同时,我们采用了WAV格式来作为音乐播放的主要格式。
在操作上,我们使用了I2S接口来与DAC芯片进行连接。
简易音乐播放器数电实验

数字电路与逻辑设计综合设计实验报告实验名称:简易音乐播放器姓名:班级:班班内序号:27一、设计任务要求设计制作一个简易乐曲播放器。
1)播放器内预存3首乐曲;2)播放模式:顺序播放、随机播放,并用数码管或LED显示当前播放模式;3)顺序播放:按内部给定的顺序依次播放3首乐曲;4)随机播放:随机产生一个顺序播放3首乐曲;5)用数码管显示当前播放乐曲的顺序号;6)设置开始/暂停键,乐曲播放过程中按该键则暂停播放,再按则继续播放;7)设置Next和Previous键,按Next键可以听下一首,按Previous键回到本首开始;8)选做:用户可以自行设定播放顺序,设置完成后,播放器按该顺序依次播放乐曲;9)选做:自拟其它功能。
二、系统设计1)设计思路首先音乐有音高和节拍两个因素。
音高可以通过对时钟信号不同的分频得到不同频率的信号进而发出不同的音,节拍可以定义一个音符计数器,计数器的每一个值对应一个音高。
对播放的控制包括播放/暂停、复位、上一首、下一首、本首重放、顺序播放/随机播放,用一个状态机,共播放和暂停两个状态,另外歌曲的切换以和暂停都是利用音符计数器赋不同的值或保持不变来实现。
音高的显示是通过不同的音符对应不同的点阵row和col的值来实现的。
歌曲号是通过音符计数器的值来得出并送到数码管显示的。
播放、暂停、顺序、随机这些的显示是通过对状态和模式变量的判别进而送到LED显示的。
2)总体框图50M3)分块设计共分为9个模块。
Div1,div2,div3都是用来分频的,分别是将50mhz变为1mhz,将1mhz变为4hz,将1mhz变为2hz。
Rand模块用来产生随机数,用于随机播放模式。
Keycontrol是核心模块,用来实现顺序播放、随机播放、播放/暂停、上一首、下一首、本首重放、复位、显示顺序或随机播放状态、显示播放/暂停态。
Melody模块是将音符计数器的每一个值与一个音高相对应,即记录曲谱。
Index模块是用melody模块传来的音高信号通过查表得到它所对应的音高的分频数,然后将这个分频数送给speaker模块,以发出不同的音,另外对应不同的音它还对点阵进行不同的输出,进而显示出音高。
电子技术试验之音乐播放器实验报告

电子技术试验之音乐播放器实验报告一、实验目的1、熟练使用MAX+PLUSII软件平台。
2、了解音阶发生原理,学会用硬件描述语言(AHDL)建立音阶发生器模块,并最终编成乐曲,使其可以播放乐曲。
3、下载到JDEE-10试验箱上进行调试和验证音乐播放器的功能。
二、预期功能1、播放一首乐曲。
2、用任意微动开关的按动来控制音乐的播放与停止。
3、数码管两位显示正在播放的音符简谱。
4、点阵模拟五线谱,用十字灯标出正在播放的音符在音阶中的位置。
三、方案设计顶层设计图:模块说明:FREQ**:不同的音高发生器FREQDIVIDER:将高音一分为二产生低音的分频器KEYFORSTOP+stopsign:控制音乐播放与停止的输入端,stopsign为计数器,输出停止与播放的信号counter1:作为音乐节奏的分频器NEW_WORLD:乐曲播放器,曲名为《来自新世界》ED27SEGMENT:数码管控制器,输出显示简谱与高低音counter_disp+DISP:点阵控制器及其输入的扫描时钟信号分频器下面将介绍以上模块的具体实现及功能。
1、分频①音频分频音名与频率的关系:音乐上的十二平均律规定:每两个八度音之间的频率相差一倍。
在这两个八度音之间,分成十二个半音,每两个相领半音的频率比为12√2。
另外还规定,音名A(简谱低音6)的频率为 440Hz。
音名 B 到 C 之间、E 到 F 之间为半音,其余为全音。
这样,可计算得从低音5到高音3之间的每个音名的频率为:(*l表示低音,*h表示高音)∶g:1567.98Hzgl783.99Hzal:880Hz a:1760Hzbl:987.76Hz b:1975.53Hz->2024.77c:1046.50Hz ch:2093Hz->1911.13d:1174.66Hz dh:2349.32Hz->1702.62e:1318.51Hz eh:2637.02Hz->1516.86f:1396.92Hz这些低频信号由高频信号经过分频而得,时钟频率4MHz,而音频ah为1760Hz,则4M/1760=2272,由此设计一个2272进制的计数器,其时钟信号为4MHz,进位信号就是1760Hz。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课设是辛苦劳累的,但是收获同样是巨大的,在课设中每解决一个问题,那种成就感是无法言语的,课设中第一次调试程序时出现了逻辑错误,编译能通过,运行始终无法通过,后来经过思考,进行了多次修改调试之后得到了运行结果。
{
MCI_OPEN_PARMS mcio;
mciSendCommand(m_mciID,MCI_CLOSE,0,NULL);
mcio.lpstrDeviceType=_T("MPEGAudio");
mcio.lpstrElementName=mp3[CurID].pathName;
mciSendCommand(m_mciID,MCI_OPEN,MCI_OPEN_ELEMENT,(DWORD)&mcio);
{
m_MusicList.DeleteAllItems();
for(int i=0;i<CurSize;++i)
{
m_MusicList.InsertItem(i,mp3[i].mp3Name);
}
displayname();
}
void CMp3PlayerDlg::displayname()//播放的文件名
{
Pausemusic();
KillTimer(1);
State=0;
}
else
{
mciSendCommand(m_mciID,MCI_RESUME,0,NULL);
SetTimer(1,1000,NULL);
State=1;
}
}
void CMp3PlayerDlg::StoreList()//存储列表
先单击‘文件’按钮,在本地磁盘找打音乐文件,然后将文件加入,添加的歌曲显示在播放列表中。选中播放列表的歌曲,然后单击‘播放’按扭,开始播放音乐,直到播放完后停止。在播放音乐文件期间,单击‘暂停’按钮,可以暂停播放音乐,再次单击‘暂停’按钮时,又可以继续播放。同时单击‘+’,‘-’按钮,可以控制音量的大小。单击‘上一曲’按钮,将播放播放列表中当前曲目的上一曲,‘下一曲’按钮,播放播放列表中当前曲目的下一曲。同时显示歌曲名和歌词。
四、系统的实现及调试
五、系统的使用说明
六、总结
七、程序主要源代码
八、课程设计任务书
一、课题的介绍和课题的任务
音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。它涵盖了各种音乐格式的播放工具,比如:MP3播放器,WMA播放器,MP4播放器等。它们不仅界面美观,而且操作简单,带你进入一个完美的音乐空间。利用MFC应用程序、媒体控制接口MIC的基本知识,设计一个MP3播放器。要求能够播放常用Windows音频格式的文件;实现播放控制:播放、暂停、清空播放列表、音量增减、添加歌曲、上一曲,下一曲等功能;实现从本地磁盘加入文件,然后对其进行播放。
m_lrc="";
if(getlrc())
displaylrc();
else
{
KillTimer(2);
m_lrc="没有找到相应歌词!";
}
Getlengh();
displayname();
}
void CMp3PlayerDlg::OnDblclkMusicList(NMHDR* pNMHDR, LRESULT* pResult)
注意:添加完文件后,应先选中播放列表中的歌曲在点击‘播放’按钮才能播放。
六、总结
经过一周的面向对象程序课程设计,我学到了很多。在这一周的实际动手学习中,我对VC++这门课程有了更深刻的认识,掌握了用MFC创建基于对话框的应用程序,同时了解了MCI相关知识。这次课程设计我做了MP3播放器的设计,MP3播放器主要对常用Windows音频格式的文件实现播放控制:播放歌曲、暂停播放、音量的控制、上一曲、下一曲等功能。
{
ar<<mp3[i].mp3Name<<mp3[i].pathName;
}
ar.Close();
file.Close();
}
}
void CMp3PlayerDlg::ReadList()//读取列表
{
CFile file;
if(file.Open("E:\\My music\\song\\huang.hzy",CFile::modeRead))
面向对象程序设计课程设计
设计说明书
音乐播放器(Mp3 Player)
起止日期:2012年5月27日至2012年6月2日
学生姓名
孙见任
班级
计算机科学与技术101
学号
10408100124
成绩
指导教师(签字)
计算机与通信学院
2012年6月2日
一、课题的介绍和课题的任务
二、设计的要求
三、系统的分析和系统中功能的设计
4、播放列表功能:显示添加的歌曲
5、清空播放列表功能:清除播放列表中的全部歌曲。
6、音量功能:控制音量的大小
7、上下曲:改变播放歌曲的顺序。
8、歌词显示功能:显示当前播放歌曲的歌词。
四、系统的实现及调试
//说明:主要介绍系统编码的实现以及编码中遇到的问题和解决方法。
五、系统的使用说明
该系统界面包括添加、播放/暂停、清空播放列表、播放列表、音量增减、上一曲、下一曲、歌词显示区等按钮。
{
mciSendCommand(m_mciID,MCI_PAUSE,0,NULL);
}
void CMp3PlayerDlg::OnPlayOrPause()//播放,暂停
{
// TODO: Add your control notification handler code here
if(State==1)
MCI_STATUS_PARMS StatusParms;
StatusParms.dwItem = MCI_FORMAT_MILLISECONDS|MCI_STATUS_LENGTH;
mciSendCommand (m_mciID, MCI_STATUS, MCI_WAIT | MCI_STATUS_ITEM,(DWORD)&StatusParms);
if(nIDEvent==1)
{
if(CurPos==lengh/1000)
{
KillTimer(1);
srand(time(0));
CurID=rand()%CurSize;
CurPos=0;
Playmusic(CurID);
}
m_progress.SetPos(++CurPos);
}
else
if(nIDEvent==2)
m_mciID=mcio.wDeviceID;
MCI_PLAY_PARMS mcip;
mcip.dwCallback=(long)GetSafeHwnd();
mcip.dwFrom=CurPos*1000;
SetVolume();
mciSendCommand(m_mciID,MCI_PLAY,MCI_FROM,(DWORD)&mcip);
{
m_lrc="";
for(int i=CurLine;i<TotleLine;++i)
m_lrc+=lrc[i];
CurLine+=1;
UpdateData(false);
}
CDialog::OnTimer(nIDEvent);
{
m_CurName=mp3[CurID].mp3Name;
UpdateData(false);
}
void CMp3PlayerDlg::displaylrc()//播放歌词
{
UpdateData(false);
SetTimer(2,8000,NULL);
}
void CMp3PlayerDlg::OnClear() //清空列表
七、程序主要源代码:
void CMp3PlayerDlg::OnAdd() //添加文件
{
// TODO: Add your control notification handler code here
char sBuffer[6000];
sBuffer[0]=0;
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT,"MP3文件(*mp3)|*mp3||",NULL);
{
mp3[i].ID=i+1;
mp3[i].pathName=dlg.GetNextPathName(pos);
cs=mp3[i].pathName;
n=cs.ReverseFind('\\');
mp3[i].mp3Name=cs.Mid(n+1);
CurSize++;
}
display();
}
}
void CMp3PlayerDlg::Playmusic(int ID)//播放
CurPos=0;
Playmusic(CurID);
State=1;
*pResult = 0;
}
void CMp3PlayerDlg::Stopmusic()//暂停
{
mciSendCommand(m_mciID,MCI_STOP,MCI_WAIT,NULL);
}