搜档网
当前位置:搜档网 › 基于fpga的音乐播放器的设计

基于fpga的音乐播放器的设计

基于fpga的音乐播放器的设计
基于fpga的音乐播放器的设计

1引言

1.1关于EDA技术

随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。现如今掌握EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。

传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分,接下来就要选择特定芯片,焊接成PCB电路板,最后对成品PCB电路板进行调试。这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。然而,随着可编程器件和EDA技术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,大大提高了设计的灵活性,提高了工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。

EDA技术的发展大致经历了三个阶段:20世纪70年代的CAD(计算机辅助设计)阶段、20世纪80年代的CAE(计算机辅助工程)阶段、20世纪90年代后的EDA(电子设计自动化)阶段。以下主要介绍第三个阶段。

EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。EDA技术主要有以下特征:

(1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了相应的系统级综合优化工具,大大缩短了复杂ASIC的设计周期。

(2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。

(3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。

(4)可测性综合设计。

(5)为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。

(6)建立并行设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。

总而言之,EDA技术的出现,给电子信息产业带来了革命性的变革。

1.2关于VHDL

VHDL是一种硬件描述语言,它可以对电子电路和系统的行为进行描述,基于这种描述,结合相关的软件工具,可以得到所期望的实际电路与系统。

使用VHDL语言描述的电路,可以进行综合和仿真。然而,值得注意的是,尽管所有VHDL代码都是可仿真的,但并不是所有代码都能综合。

VHDL被广泛使用的基本原因在于它是一种标准语言,是与工具和工艺无关的,从而可以方便地进行移植和重用。VHDL两个最直接的应用领域是可编程逻辑器件(PLD)和专用集成电路(ASIC),其中可编程逻辑器件包括复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)。

关于VHDL最后要说明的是:与常规的顺序执行的计算机程序不同,VHDL从根本上讲是并发执行的。在VHDL中,只有在进程(PROCESS)、函数(FUNCTION)和过程(PROCEDURE)内部的语句才是顺序执行的。

1.3EDA工具

目前有多种EDA工具支持采用VHDL进行电路综合、仿真以及实现。比较常见的是Altera公司的QuartusⅡ开发平台和Xilinx公司的ISE开发平台。这些平台中使用的综合工具和仿真工具通常由专业的EDA厂商提供。本次设计中所使用的平台正是QuartusⅡ7.2,它是Altera公司提供的一套集成了编译、布局布线和仿真工具在内的综合开发环境。它能完成从代码输入到编译到仿真再到物理实现的全部设计流程。

1.4有关于本次课程设计

本次课程设计要求使用EDA工具,设计实现简易音乐演奏器,理解音名与频率的关系及数控分频原理,经过对整体进行模块化分析、编程、综合、仿真及最终下载,完整实现简易音乐器的播放功能。

我们知道,与利用单片机来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具与硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。

在后面的章节中会详细介绍利用EDA技术实现简易音乐演奏器的过程。

2 设计实现

2.1准备知识

在本次设计中采用了铃声《祝你生日快乐》作为要播放的乐曲,它的旋律如下:

5 5 |

6 5 1|

7 —5 5|6 5 2|1 —5 5|5 3 1|7 6 —|0 0 4 4|3 1 2|1 —

根据声乐知识,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,获取这两个要素所对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果是本实验的关键。表2-1为简谱中音名与频率的对应关系。

表2-1 简谱音名与频率的关系

频率点及音符与音谱对应定义如表2-2所示。

表2-2音符语音谱定义

2.2乐曲演奏电路的结构示意

本设计由四个模块组成,如图2-3所示。

图2-3 乐曲演奏电路的结构示意

2.3乐曲演奏电路的子结构

顶层结构所包含的模块分别有音调发生器(ydfsq)模块、手动\自动选择(bmux)模块、音调编码器(ydbmq)模块及数控分频器(skfpq)模块。以下便是对各个子模块的分析。

2.3.1音调发生器模块

1.音调发生器模块的功能

在此模块中设置了一个8位二进制计数器(计数最大值为107),这个计数器的计数频率选为4Hz,即每一计数值的停留时间为0.25s,恰好为当全音符设为1s时,四四拍的4分音符的持续时间。例如,ydfsq在以下的VHDL逻辑描述中,《祝你生日快乐》乐曲的第一个音符为“5”,此音在逻辑中停留了4个时钟节拍,即为1s时间,相应地所对应“1”音符分频预置数为1409在skfpq的输入端停留了1s。随着ydfsq 中的计数器按4Hz的时钟频率做加法计数时,乐谱逐次被选取,《祝你生日快乐》乐曲就开始自然连续而且循环的演奏起来了。

2.音调发生器模块的VHDL源程序

library ieee;

use ieee.std_logic_1164.all;

entity ydfsq is

port(clk:in std_logic;

clkj:in std_logic_vector(1 downto 0);

rst:in std_logic;

toneindex:out integer range 0 to 14);

end ydfsq;

architecture bhv of ydfsq is

signal counter:integer range 0 to 107;

signal clker:std_logic;

signal count4:integer;

begin

process(clk)

begin

if clk'event and clk='1' then

if clkj="10" then

count4<=count4+1;

if count4>0 then

clker<=not clker;count4<=0;

end if;

elsif clkj="01" then

count4<=count4+1;

if count4>2 then

clker<=not clker;count4<=0;

end if;

else count4<=count4+1;

if count4>1 then

clker<=not clker;count4<=0;

end if;

end if;

end if;

end process;

process(clker,counter,rst)

begin

if rst='1' then

counter<=0;

elsif counter=107 then

counter<=0;

elsif clker'event and clker = '1' then counter<=counter+1;

end if;

end process;

process(counter)

begin

case counter is

when 0 to 3|8 to 11|24 to 27|32 to 35|48 to 51=>toneindex<=5;

when 4 to 7|28 to 31|68 to 75=>toneindex<=6;

when 16 to 23|64 to 67=>toneindex<=7;

when 12 to 15|40 to 47|60 to 63|92 to 95|100 to 107=>toneindex<=8;

when 96 to 99=>toneindex<=9;

when 56 to 59|88 to 91=>toneindex<=10;

when 84 to 87=>toneindex<=11;

when 52 to 55=>toneindex<=12;

when 76 to 83=>toneindex<=0;

when others=>NULL;

end case;

end process;

end bhv;

3.音调发生器模块的仿真图

2-4 音调发生器模块的仿真波形图

通过仿真图可以清楚的看到,时钟clk由0开始计数,每计一次数输出toneindex 的值随之发生一定的变化,只不过根据乐谱的不同,输出的变化也不尽相同。然后把输出toneindex输入到音调编码器模块,进行下一步编码工作。于是,由仿真图印证了ydfsq模块逐次选取音符的功能。

2.3.2手动\自动选择模块

1.手动\自动选择模块的功能

根据设计的要求,该简易乐曲演奏器能实现手动或自动演奏乐曲的功能。于是,可通过一个按键cs来进行自动与手动的选择,当cs按下时,乐曲自动演奏,其他情况下均为手动演奏乐曲,即可以通过按下其他的按键(与cs相连的按键除外)来控制不同的音符。与此同时,还需要一个复位信号rst来控制该演奏器是否工作,当rst为1时,停止演奏,为0时,可以演奏。以上提到的手动与自动的选择只能在rst为0时有效。

2.手动\自动选择模块的VHDL源程序

library ieee;

use ieee.std_logic_1164.all;

entity bmux is

port(d1:in integer range 0 to 14;

d2:in integer range 0 to 14;

cs,rst:in std_logic;

q:out integer range 0 to 14);

end bmux;

architecture bhv of bmux is

begin

process(cs,rst)

begin

if rst='1'then

q<=0;

else

case cs is

when '0'=>q<=d1;

when '1'=>q<=d2;

when others=>q<=d1;

end case;

end if;

end process;

end bhv;

3.手动\自动选择模块的仿真图

图2-5手动\自动选择模块的仿真波形图

此仿真图中输入cs代表手动\自动演奏的选择端,输入rst代表整体复位端,输入d1、d2分别代表手动和自动要演奏的音符,输出q代表经过选择后,要演奏的或是手动输入或是自动输入的音符。由此仿真图可清楚的看到当rst=1时,不论选择的是手动还是自动,输出都为零,达到了整体复位的功能;当rst=0且cs=1时,自动演奏乐曲,因为q与d2的值相同;当rst=0且cs=0时,手动演奏乐曲,因为

这时的q与d1的值相同,从而也达到了演奏方式选择的功能。

2.3.3音调编码器模块

1.音调编码器模块的功能

此模块的功能首先是为skfpq提供决定所发音符的分频预置数,而此数在skfpq 输入端口停留的时间即为此音符的节拍值。ydbmq模块是乐曲简谱码对应的分频预置数查表电路,其中设置了《祝你生日快乐》乐曲全部音符所对应的分频预置数,共9个,每一音符的停留时间由音乐节拍和音调发生器模块ydfsq的clk输入频率决定,在此为4Hz。这9个值的输出由对应于ydbmq的4位输入值index[3..0]来确定。与此同时,code[3..0]和code1[3..0]这两个输出接2个数码管分别显示乐曲音符的高、中、低音(“0”代表低音,“1”代表中音,“2”代表高音)和乐曲演奏的音符(高、中、低1~7音符)。

2.音调编码器模块的VHDL源程序

library ieee;

use ieee.std_logic_1164.all;

entity ydbmq is

port(index:in integer range 0 to 14;

code:out integer range 0 to 15;

code1:out integer range 0 to 15;

tone:out integer range 0 to 2047);

end ydbmq;

architecture bhv of ydbmq is

begin

process(index)

begin

case index is

when 0=>tone<=2047;code<=0;code1<=0;

when 1=>tone<=1091;code<=1;code1<=1;

when 2=>tone<=1195;code<=2;code1<=1;

when 3=>tone<=1288;code<=3;code1<=1;

when 4=>tone<=1331;code<=4;code1<=1;

when 5=>tone<=1409;code<=5;code1<=1;

when 6=>tone<=1479;code<=6;code1<=1;

when 7=>tone<=1541;code<=7;code1<=1;

when 8=>tone<=1569;code<=1;code1<=2;

when 9=>tone<=1621;code<=2;code1<=2;

when 10=>tone<=1668;code<=3;code1<=2;

when 11=>tone<=1689;code<=4;code1<=2;

when 12=>tone<=1728;code<=5;code1<=2;

when 13=>tone<=1763;code<=6;code1<=2;

when 14=>tone<=1794;code<=7;code1<=2;

when others=>NULL;

end case;

end process;

end bhv;

3.音调编码器模块的仿真图

图2-6 音调编码器模块的仿真波形图

在此仿真图中从上到下依次代表输出code、输出code1、输入index和输出tone。通过此仿真图能清楚的看到当音符分别为3、5、8、13、0时,它们所对应的分频预置数tone分别是1288、1409、1569、1763、2047;所对应的音谱code分别是3、5、1、6、0;所对应的高中低音code1又分别是1(中)、1(中)、2(高)、2(高)、0(低)。其中code、code1能分别在两个数码管上显示,而tone则输入到数控分频模块作为分频的依据。于是,由仿真图印证了音调编码模块传送预置数及显示功能。

2.3.4数控分频器模块

1.数控分频器模块的功能

该模块的clk端输入一个具有较高频率(本实验为12MHz)的信号,通过skfpq 分频后由spkout输出。由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲信号,为了便于驱动喇叭,需另加一个D触发器均衡其占空比,也即作二分频处理。skfpq对clk输入信号的分频比由11位预置数tone[10..0]决定。spkout的输出频率将决定每一音符的音调,这样分频计数器的预置数tone[10..0]与spkout的输出频率就有了对应关系。例如在ydbmq模块中取tone[10..0]=1479,作为发音符为“6”音的信号频率。

2.数控分频器模块的VHDL源程序

library ieee;

use ieee.std_logic_1164.all;

entity skfpq is

port(clk:in std_logic;

tone:in integer range 0 to 2047;

spks:out std_logic);

end skfpq;

architecture bhv of skfpq is

signal preclk:std_logic;

signal fullspks:std_logic;

begin

process(clk)

variable count4:integer range 0 to 14; begin

preclk<='0';

if count4>11 then

preclk<='1';count4:=0;

elsif clk'event and clk='1' then

count4:=count4+1;

end if;

end process;

process(preclk,tone)

variable count11:integer range 0 to 2047; begin

if preclk'event and preclk='1'then

if count11=2047 then

count11:=tone;fullspks<='1';

else

count11:=count11+1;fullspks<='0';

end if;

end if;

end process;

process(fullspks)

variable count2:std_logic;

begin

if fullspks'event and fullspks='1' then

count2:=not count2;

if count2='1'then

spks<='1';

else

spks<='0';

end if;

end if;

end process;

end;

3.数控分频器模块的仿真图

图2-7 数控分频器模块的仿真波形图

在此仿真图中,输入clk是一个频率较大的时钟信号,输入tone代表着某个音符的分频预置数,输出spks则代表将输入clk先经过12次分频,再经过(预置数终值2048-tone)次分频,最终在进行二分频处理后的信号,而这个信号的频率就是我们需要演奏的音谱的频率,根据频率的不同,从而能通过喇叭听到不同的声音,这就是我们一直想要演奏的乐曲了!

2.4顶层文件

2.4.1顶层音乐演奏器源程序

library ieee;

use ieee.std_logic_1164.all;

entity yyyzq is

port(clk1,clk2,cs,rst:in std_logic;

d1:in integer range 0 to 14;

clkj:in std_logic_vector(1 downto 0);

code,code1:out integer range 0 to 15;

spks:out std_logic);

end yyyzq;

architecture bhv of yyyzq is

signal x,y:integer range 0 to 14;

signal z:integer range 0 to 2047;

component ydfsq is

port(clk:in std_logic;

rst:in std_logic;

clkj:in std_logic_vector(1 downto 0);

toneindex:out integer range 0 to 14);

end component;

component bmux is

port(d1:in integer range 0 to 14;

d2:in integer range 0 to 14;

cs,rst:in std_logic;

q:out integer range 0 to 14);

end component;

component ydbmq is

port(index:in integer range 0 to 14;

code:out integer range 0 to 15;

code1:out integer range 0 to 15;

tone:out integer range 0 to 2047);

end component;

component skfpq is

port(clk:in std_logic;

tone:in integer range 0 to 2047;

spks:out std_logic);

end component;

begin

u1:ydfsq port map(clk=>clk1,clkj=>clkj,toneindex=>x,rst=>rst);

u2:bmux port map(d1=>d1,d2=>x,cs=>cs,rst=>rst,q=>y);

u3:ydbmq port map(index=>y,code=>code,code1=>code1,tone=>z); u4:skfpq port map(clk=>clk2,tone=>z,spks=>spks);

end bhv;

2.4.2顶层音乐演奏器原理图

经过了各个子模块的分析与验证后,我们只需将各个子模块之间的输入输出端、子模块与整体电路之间的输入输出端进行正确的硬件连接就得到了顶层音乐演奏器的原理图,如图2-8所示:

图2-8 乐曲演奏电路的顶层原理图

2.4.3顶层程序仿真波形图

图2-9 顶层程序的仿真波形图

首先,介绍一下总体程序中各个引脚的作用及硬件连接情况:输入clk1是一个频率较小的时钟信号,在进行硬件下载时它与实验箱上clock0模块的16Hz频率相连,它决定着乐曲演奏的快慢;输入clk2是一个频率较大的时钟信号,因为要对它进行多次不同的分频,下载时它与实验箱上clock9模块的12MHz频率相连;输入d1[3..0]是当手动演奏时自己确定的音符,下载时它与实验箱上的按键6、5、4、3相连;输入rst和cs分别是整体复位端和演奏方式选择端,它们分别与实验箱上的按键2、1相连;输出code和code1分别用来显示音谱与高中低音,它们分别与实验箱上的数码管1和2相连(提示:选择工作模式为模式5);输出spks要与实验箱上的喇叭相连,用来发出声音。

其次,顶层电路的仿真波形图是否正确依赖于各个子模块的功能是否完善,同时顶层电路的功能实现又验证了各个子模块的正确性,二者相互依存。

3 结论

(1) 本次简易乐曲演奏器的设计经过了整体分析、模块化分析、整体与模块的仿真分析这样三个步骤,硬件实现了整体复位、按键选择演奏方式、循环演奏以及数码管显示乐谱的功能。

(2) 在做数控分频器模块的仿真时一定要处理好时序问题。

(3) 本次设计可以说达到了设计要求,但尚有需要改进的地方。随着乐谱的复杂程度加大,如果依然在音调发生器的程序中通过时钟计数来决定音符的输出,会加大编程的繁杂度,这时一个很好的解决办法就是把将要演奏的乐谱存放在人为开辟的存储空间里,这样只需要在相应地址中读出音符即可。

谢辞

本学期最后两周我们07电信本2班做的是基于EDA的音乐演奏器的课程设计。两周的课程设计已经接近尾声,这是我们本学期最后的一次课设,首先要感谢我们的学校领导为我们提供了多次动手锻炼的机会,增强了我们的实践能力。这次课程设计,不仅使我更加熟悉了VHDL语言、QuartusⅡ软件,而且真正体会到了“实践出真知”这句话的真谛。

在这三次的课设进程中,永久不变的是各位指导老师的悉心教导,耐心指教。尤其在本次设计中,郭老师给了我及时的帮助,让我茅塞顿开、受益匪浅,在此对两位老师表示深深的谢意。

最后,课程设计虽然是个人探索研究取得进步的过程,但依然离不开同学之间的相互探讨与帮助,集体的思维是开阔的,集体的智慧是无限的,再难的课题也会被集体的力量所攻破。因此我还要向那些给我提供帮助的同学们表示感谢。

参考文献

[1] 张顺兴.数字电路与系统设计.第1版.南京:东南大学出版社,2004

[2] 王玉秀.电工电子基础实验.第1版.南京:东南大学出版社,2006

[3] 孙肖子.模拟电子技术基础.第1版.西安:西安电子科技大学出版社,2001.1

[4] 谢自美.电子线路设计?实验?测试.第2版.武昌:华中科技大学出版社,2000.7

[5] 张豫滇.电子电路课程设计.第1版.南京:河海大学出版社,2005.8

[6] 沈明山.EDA技术及可编程器件应用实训,科学出版社,2004.6(4):318-326

[7] 刘婷婷,李军.电子设计自动化(EDA).北京师范大学出版社,2007,9(2):250-257

[8] 赵明富,李立军.EDA技术基础,北京大学出版社,2007.5(5):221-224

附录Ⅰ模式5电路图

附录Ⅱ引脚锁定表

目录

1引言 (1)

1.1关于EDA技术 (1)

1.2关于VHDL (2)

1.3EDA工具 (2)

1.4有关于本次课程设计 (2)

2 设计实现 (3)

2.1准备知识 (3)

2.2乐曲演奏电路的结构示意 (4)

2.3乐曲演奏电路的子结构 (4)

2.3.1音调发生器模块 (4)

2.3.2手动\自动选择模块 (6)

2.3.3音调编码器模块 (8)

2.3.4数控分频器模块 (9)

2.4顶层文件 (11)

2.4.1顶层音乐演奏器源程序 (11)

2.4.2顶层音乐演奏器原理图 (13)

2.4.3顶层程序仿真波形图 (13)

3 结论 (14)

谢辞 .................................................................................................. 错误!未定义书签。参考文献 .. (16)

附录Ⅰ模式5电路图 (17)

附录Ⅱ引脚锁定表 (18)

智能时程音乐播放器功能说明

智能时程音乐播放器功能说明 ※系统概述: M P3智能音乐播放系统:采用世界最先进的微电脑控制、M P3、F L A S H录音技术。将广播自动播放、音源选播、录音下载/音频和麦克风录音存储等先进功能综合为一体。高标准的产品定位,多功能的超前设计,成为广播设备的典范之精品,达到国内领先水平。广泛适用于校园自动广播音乐打铃、外语广播教学听力考试系统。 ※综合功能: M P3自动广播、智能分区广播、日常教学广播、消防紧急广播、背景音乐播放、外语教学及听力考试广播功能。 ※系统特点: 1、M P3存储: 本系统采用F L A S H为存储方式,音质清晰、优美、内存容量有2G,可满足各种用户广播需求。 2、编程播放: 具有自动广播功能、每天可达99次设定编程播放,对播放内容和播出时间、次数及循环设定多遍播放并任意编程控制,实现无人直守。每一次编程时间设定可达几十首歌曲进行播放输入。对某些需要准点播放的内容拥有优先权。 3、功放管理: 在每次执行定时播放程序时会自动提前5秒钟将功放电源打开,避免功放机开机因启动及预热延时而影响正常播放。(智能化的设计起到了节能和科学化管理功放开关) 4、中文菜单显示: M P3自动广播系统采用中文式菜单液晶显示,引导式菜单进入,让操作者对各项功能信息一目了然,上下翻页及功能设定简洁方便,简单明朗易学易用。 5、程序设定: 用户可根据不同的作息时间、内容进行编程设定,达到任意选择和调整作息时间,满足各广播单位对广播作息的选择需求。 6、M P3下载存录音源: 用户可直接从计算机上下载或自行录制需要的乐曲到系统内,再进行编程播放。 7、音频及麦克存录音源: 本系统可直接从各种媒体(V C D、C D、卡座等)线路和麦克风两种方式录音输入存储音源音乐曲目。 8、时钟显示: 本系统具有日常时钟功能:本机采用专用实时时钟模块,走时准确,停电正常计时,标准时间及工作程序不会丢失、错乱。对年、月、日及时间显示,起到了对操作使用者及时了解当前时间和下一曲将播放的时间显示功能。 9、M P3音质清晰:

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX年X月X日

一、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer():实现窗口的成员方法 publi c void run():实现改变歌曲的播放状态的成员方法 public AudioClip loadSound(String filename):实现对声音的加载public void mouseClicked(MouseEvent e):实现对按钮的监听public void itemStateChanged(ItemEvent arg0):返回一个AudioClip 对象

3、程序流程图 4、程序清单 import java.awt.*; import javax.swing.*; import java.applet.*; import java.awt.event.*; import https://www.sodocs.net/doc/9f3275668.html,.*; public class MyMusicPlayer extends Thread implements MouseListener,ItemListener{ JFrame MainFrame=new JFrame("MyMusicPlayer"); //定义主窗体 JLabel songname=new JLabel(); //用标签 显示状态 JButton last=new JButton(); JButton play=new JButton();

音乐播放器代码大全

音乐播放器代码大全 autostart="true"中true或1表示自动播放,false或0表示手动播放 loop="true" 中的true或1表示重复播放,false或0表示只播放一次width= height= 中的数字分别表示播放器的宽度和高度=0表示隐藏播放器 EnableContextMenu="0" 禁右键 ShowStatusBar="1" (带显示文件播放信息) 1隐藏播放器(不循环) 代码: 2.隐藏播放器(循环播放) 代码: 3.黑色皮肤播放器 代码: 4.淡蓝色播放器 代码:

5.迷幻播放器 代码:

6.带菜单的播放器 代码: 7.深黄色带菜单播放器 代码: 8.灰色播放器 代码:

音乐播放器的详细设计

音乐播放器详细设计 1.引言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。而3G时代的到来,手机移动应用越来越普遍。此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。 1.1 编写目的 为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。1.2项目背景 本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。 该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。 1.3 参考资料 [1] 重庆大学出版社《软件工程》“软件计划与可行性分析” [2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》 [3] 可行性分析 [4] 《音乐播放器需求分析书》 [5] 《音乐播放器总体设计说明书》 1.4项目开发计划 实施计划:

阶段名称负责人 需求分析杨挺、李雪梅 总体设计李雪梅、杨挺 详细设计李雪梅、杨挺 软件测试李雪梅、杨挺 在技术方面,编程知识比较缺乏,对有些与项目相关的软件 不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。 2. 总体设计 2.1 项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取 存储卡播放等多种播放控制,界面简明,操作简单。 软件系统检测到错误行为时,报告错误,并提示处理操作。 2.2 软件运行环境 硬件:Android操作系统手机 系统软件:Android 2.2 -- 4.0版本 支撑软件:Eclipse 7.5 、ADT 1.5 2.3 需求概述

(完整版)基于FPGA的智能交通灯的设计毕业设计

目录 摘要 ............................................................. I 1 前言 (1) 2 交通红绿灯控制电路的发展与技术现状 (2) 2.1 交通控制系统以及交通红绿灯控制电路的发展现状 (2) 2.2 智能交通红绿灯控制电路技术的现状 (3) 3 VHDL、FPGA、Quartus ii简介 (5) 3.1 VHDL简介 (5) 3.1.1 VHDL简介 (5) 3.1.2 VHDL语言的特点 (6) 3.2 FPGA简介 (8) 3.2.1 PLD器件的设计特点 (8) 3.2.2 FPGA的基本结构 (10) 3.2.3 采用FPGA设计逻辑电路的优点 (11) 3.3 Quartus II 的简介 (12) 4 具体方案论证与设计 (13) 4.1 具体方案论证 (13) 4.2系统算法设计 (15) 4.3 具体电路原理图 (16) 4.4 电路仿真图 (16) 5 实验结果 (17) 总结 (18) 参考文献 ......................................... 错误!未定义书签。附录: .. (19)

基于FPGA的十字路口交通信号灯 摘要 本文主要介绍十字路口交通灯控制器的设计。首先,介绍交通控制系统以及交通红绿灯控制电路的发展现状;然后采用硬件描述语言进行的交通灯控制器设计。重点介绍了控制系统各部分的设计,以及各个模块之间的同步处理。为了克服交通信号灯控制系统传统设计方法的弊端,更加适应城镇交通现状,利用VHDL语言、采用层次化混合输入方式,设计了具有3种信号灯和倒计时显示器的交通信号灯控制系统,在 QuartusⅡ下进行仿真,并下载到FPGA中制作成实际的硬件电路进行了模拟运行.使用该方法设计的交通灯控制系统电路简单、运行可靠、易于实现,可实现对交通信号的控制和显示功能。 关键词 FPGA;QUARTUS ii;HDPLD;十字路口交通灯控制器; Based on FPGA intersection traffic lights Abstract This paper describes the design of intersection traffic signal controller.First, the introduction of traffic control systems and traffic light control circuit of the development status; then using language designed for the traffic light controller.Focus on various parts of the control system

音乐播放器概要设计说明书

音乐播放器概要设 计说明书

逗逗音乐播放器 ----概要设计说明书 一、引言 .................................................................. 错误!未定义书签。 1.1、编写目的 ................................................... 错误!未定义书签。 1.2、背景........................................................... 错误!未定义书签。 1.3、定义........................................................... 错误!未定义书签。 1.4、参考资料 ................................................... 错误!未定义书签。 用户界面风格设计参考了其它音乐播放器的设计错误!未定 义书签。 二、总体设计 .......................................................... 错误!未定义书签。 2.1、需求规定 ................................................... 错误!未定义书签。 2.2、运行环境 ................................................... 错误!未定义书签。 2.3、基本设计概念和处理流程 ........................ 错误!未定义书签。 2.4、结构........................................................... 错误!未定义书签。 2.5、尚未解决的问题........................................ 错误!未定义书签。 三、接口设计 .......................................................... 错误!未定义书签。 3.1、外部接口 ................................................... 错误!未定义书签。 3.2、内部接口 ................................................... 错误!未定义书签。 四、系统数据结构设计 ........................................... 错误!未定义书签。 4.1、逻辑结构设计要点.................................... 错误!未定义书签。 4.2、物理结构设计要点.................................... 错误!未定义书签。

Java音乐播放器源代码即结果显示

简单的音乐播放器一、程序代码: import java.io.File; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FileDialog; import java.awt.Frame; import java.awt.GridLayout; import https://www.sodocs.net/doc/9f3275668.html,bel; import java.awt.List; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.MenuShortcut; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class Example extends Frame { private static final long serialVersionUID = 1L; boolean isStop = true;// 控制播放线程 boolean hasStop = true;// 播放线程状态

基于FPGA下的交通灯控制器设计

引言 随着城乡的经济发展,车辆的数量在迅速的增加,交通阻塞的问题已经严重影响了人们的出行。 现在的社会是一个数字化程度相当高的社会,很多的系统设计师都愿意把自己的设计设计成集成电路芯片,芯片可以在实际中方便使用。随着EDA技术的发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。FPGA/CPLD 以其不可替代的地位及伴随而来的极具知识经济特征的IP芯片产业的崛起,正越来越受到业内人士的密切关注。FPGA就是在这样的背景下诞生的,它在数字电路中的地位也越来越高,这样迅速的发展源于它的众多特点。交通等是保障交通道路畅通和安全的重要工具,而控制器是交通灯控制的主要部分,它可以通过很多种方式来实现。在这许许多多的方法之中,使用FPGA和VHDL语言设计的交通灯控制器,比起其他的方法显得更加灵活、易于改动,并且它的设计周期性更加短。 城市中的交通事故频繁发生,威胁着人们的生命健康和工作生活,交通阻塞问题在延迟出行时间的同时,还会造成更多的空气污染和噪声污染。在这种情况下,根据每个道路的实际情况来设置交通灯,使道路更加通畅,这对构建和谐畅通的城市交通有着十分重要的意义。

第一章软件介绍 1.1 QuartusⅡ介绍 本次毕业设计是基于FPGA下的设计,FPGA是现场可编程门阵列,FPGA开发工具种类很多、智能化高、功能非常的强大。可编程QuartusⅡ是一个为逻辑器件编程提供编程环境的软件,它能够支持VHDL、Verilog HDL语言的设计。在该软件环境下,设计者可以实现程序的编写、编译、仿真、图形设计、图形的仿真等许许多多的功能。在做交通灯控制器设计时选择的编程语言是VHDL语言。 在这里简单的介绍一下QuartusⅡ的基本部分。图1-1-1是一幅启动界面的图片。在设计前需要对软件进行初步的了解,在图中已经明显的标出了每一部分的名称。 图 1-1-1 启动界面 开始设计前我们需要新建一个工程,首先要在启动界面上的菜单栏中找到File,单击它选择它下拉菜单中的“New Project Wizard”时会出现图1-1-2所显示的对话框,把项目名称按照需要填好后单击Next,便会进入图 1-1-3 显示的界面。

音乐播放器需求分析

音乐播放器需求分析 项目名称音乐播放器 需求分析左茂元 界面设计杨婷、李映 程序测试杨婷、李映 程序员1 高守林 程序员2 廖敬之 总负责人魏秋兴 2016 年11 月

摘要:随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2013编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。 关键字:音乐播放器,音频编码格式,C#,Visual Studio 2013

1.前言 (4) 1.1选题的背景及意义 (4) 1.2项目目的 (4) 1.3参考资料 (4) 2.具体需求 (5) 3.前台功能需求 (5) 3.1用户登录需求 (5) 3.2播放器的基本控制需求 (5) 3.3播放列表管理需求 (6) 4.界面需求 (6) 5.后台管理需求 (6) 5.1管理员管理 (6) 5.2歌手管理 (7) 5.3歌曲管理 (7) 5.4类别管理: (7) 6.性能需求 (7) 7. 可靠性要求 (7) 8.音乐播放器需求修改明细 (8)

1.前言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。现今播放器的种类繁多,此文档是为了设计一个基于Microsoft系统而设计的一个音乐播放器。 1.1选题的背景及意义 本项目由项目经理魏秋兴提出由项目组员一起联合开发并实现其功能。开发此软件是为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。 1.2项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取存储卡播放等多种播放控制,界面简明,操作简单。软件系统检测到错误行为时,报告错误,并提示处理操作。 1.3参考资料 待定——————————————————————————————————————————————————————————————————————————

基于java的音乐播放器的设计源代码+实验报告

主类M U S I C P L A Y E R类:import .*; public class MusicPlayer implements ActionListener, Serializable,ControllerListener { private static final long serialVersionUID = 1L; private JFrame frame = null; private JPanel controlPanel = null; private JButton btnPlay = null; private JButton btnPre = null; private JButton btnNext = null; private JScrollPane listPane = null; private JList list = null; private DefaultListModel listModel = null; private JMenuBar menubar = null; private JMenu menuFile = null, menuAbout = null, menuMode = null; private JMenuItem itemOpen, itemOpens, itemExit, itemAbout; private JRadioButtonMenuItem itemSingle, itemSequence ,itemRandom; private ListItem currentItem = null; private static Player player = null; private boolean isPause = false; private int mode; private int currentIndex; private ImageIcon iconPlay = new ImageIcon("d:\\"); private ImageIcon iconPre = new ImageIcon("d:\\"); private ImageIcon iconNext = new ImageIcon("d:\\"); private ImageIcon iconPause = new ImageIcon("d:\\"); public static void main(String[] args) { new MusicPlayer(); } public MusicPlayer() { init(); } public void init() { frame = new JFrame(); ("音乐播放器"); (400, 300); (false); (null); ; menubar = new JMenuBar(); menuFile = new JMenu("文件");

音乐播放器哪个好2

音乐播放器哪个好,国内四款音乐软件评测 在国内的音乐播放器市场上,也有所谓的“四大天王”,他们分别是千千静听、酷狗音乐、酷我音乐以及QQ音乐。四款软件经过自身各个版本的升级更新,在功能及用户体验上都有着长足的进步,那么这四款软件究竟谁才是王中王呢?今天笔者告诉你!本次有https://www.sodocs.net/doc/9f3275668.html,专业音乐播放器点评网点评! (PS:参评的软件均以国内为主,外国软件不予考虑) 一、参评软件 各软件的下载地址集合 千千静听----------------酷我音乐----------------QQ音乐 -------------------酷狗音乐 二、评测看点: 一款好的音乐播放软件,应具备以下诸多特点: 1、友好的安装过程(主要是强制安装以及一些插件的问题) 2、靓丽的界面及丰富的主题皮肤 3、软件操作要简便,新手容易上手 4、音乐库的更新一定要跟得上当前的音乐潮流 5、歌曲搜索功能要到位 6、最好能自带歌曲下载模块 7、音乐源的品质要满足各层次用户的需求 8、软件主体的内存占用比例要适中

上述都是一些最基本的特色功能,还有一些笔者将会在以下的评测环节一一进行讲解 三、评测部分 1、软件的主体安装部分 首先来看下几款软件在进行软件安装环节所表现出的不同风格特点,通过对比我们可以简单的看出,所谓的绿色、无广告音乐播放器是否是“徒有其名” 千千静听在安装过程中会默认安装“百度工具栏”这一浏览器插件,安装结束后还有首页修改及推荐浏览器安装,如若都不谨慎选择,还真让它蒙混过关去了 图1、千千静听安装中的插件

图2、注意最后安装结束的内容 酷我音乐盒在安装中也有百度工具条的插件,真是无孔不入啊,虽然笔者并不排斥百度工具栏这一浏览器插件,但老出现在一些安装软件中,着实让人看了十分厌烦

安卓音乐播放器开发,含源代码

基于an droid平台的音乐播放器开发 实验报告 学生姓名:_______ 温从林 _________________ 学号: ___________________________________ 班级:计自1201 _____________ 第一章引言 1.1项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Win dowsmobile,symbia n,以及谷歌的An droid操作系统,其中占有开放源代码优势的An droid系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌An droid系统就能做到。本文的音乐播放器就是基于谷歌An droid手机平台的播放器。 An droid :是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于An droid平台的。 1.2编写目的 现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计实现的主要功能是播放Mp3 Wav多种格式的音乐文件,并且能够控制播放,暂停,停止,播放列等基本播放控制功能,界面简明,操作简单。

本项目是一款基于An droid手机平台的音乐播放器,使An droid手机拥有个性的 多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使设计者更加熟练An droid的技术和其它在市场上的特点。 1.3开发环境 Eclipse、An droid SDK 320 第二章系统需求分析 2.1功能需求(用例图分析) 根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。以下分别描述: 2.1.1播放器的用例图 假设安装了音乐播放器的用户是系统的主要设计对象,其拥有以下操作, 启动软件、播放音乐、暂停播放、停止播放、退出软件,其用例图如下 图2.1 播放器基本用例图 2.1.2用例分析

通过Verilog实现交通灯设计实验报告

电子科技大学 实 验 报 告 一、实验室名称:虚拟仪器实验室 二、实验项目名称:交通灯设计实验 三、实验学时:4学时 四、实验原理

假设交通灯处于南北和东西两条大街的“十”字路口,如图1所示。用FPGA 开发板的LED 灯来模拟红、黄、绿3种颜色信号,并按一定顺序、时延来点亮LED ,如图2所示。图3给出了交通灯的状态转移图。设计使用频率为1Hz 的时钟来驱动电路(注1:仿真时采用1MHz 的时钟来驱动电路),则停留1个时钟可得到1S 的延时,类似停留3个时钟可得到3S 的延时,停留15个时钟可得到15S 的延时(注2:开发板工作时钟为50MHz )。 北 南 西东 图1. 六个彩色LED 可以表示一组交通信号灯 图2. 交通灯状态 南北 东西 红 黄 绿 红 黄 绿 S0 1 0 0 0 0 1 S1 1 0 0 0 1 0 S2 1 0 0 1 0 0 S3 0 0 1 1 0 0 S4 0 1 0 1 0 0 S5 1 0 0 1 0 0

图3. 交通灯的状态转移图 顶层模块 时钟分频模块状态机跳转模块 图4. 交通灯的原理框图 五、实验目的 本实验是有限状态机的典型综合实验,掌握如何使用状态转移图来定义Mealy状态机和Moore状态机,熟悉利用HDL代码输入方式进行电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个交通灯的设计掌握利用EDA软件(Xilinx ISE 13.2)进行HDL代码输入方式的电子线路设计与仿真的详细流程。。 六、实验内容 在Xilinx ISE 13.2上完成交通灯设计,输入设计文件,生成二进制码流文件下载到FPGA开发板上进行验证。 七、实验器材(设备、元器件)

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java 音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX 年X 月X 日

、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java 中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3 歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer() :实现窗口的成员方法 publi c void run() :实现改变歌曲的播放状态的成员方法 :实现对声音的加载 public AudioClip loadSound(String ) :实现对按钮的监听 public void mouseClicked(MouseEvent e) public void itemStateChanged(ItemEvent arg0) :返回一个AudioClip 对象

3、程序流程图 * 出现界面 * 选择播放歌 曲 4、程序清单 import java.awt.*; import javax.swi ng.*; import java.applet.*; import java.awt.eve nt.* import java .n et.*; public class MyMusicPIayer exte nds Thread impleme nts MouseListe ner,ltemListe ner{ JFrame Mai nF rame =new JFrame( "MyMusicPlayer" ); // 定义主窗体 JLabel songname =new JLabel(); //用标签显示状态 JButton last =new JButto n(); JButt on play =new JButt on();

数字系统设计音乐播放器

一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、 讨论、心得 一、实验目的和要求: 实验目的: (1)掌握音符产生的方法,了解DDS 技术的应用。 (2)了解AC97音频接口电路的应用。 (3)掌握系统“自顶而下”的设计方法。 实验任务: 设计一个音乐播放器。 (1)可以播放四首乐曲,设置play 、next 、reset 三个按键。按play 键播放当前乐曲,按next 键播放下一首乐曲。 (2)LED0指示播放情况(播放时点亮)、LED2和LED3指示当前乐曲序号。 二、实验内容和原理 (1)音乐播放器的设计原理 根据实验任务可将系统分为主控制器(mcu )、乐曲读取(song_reader )、音符

播放(note_player)、AC97音频接口(codec_conditioner)和ac97_if五个子模块,系统的总体框图如下: 各个模块的功能如下: 模块接收按键信息,通知song_reader模块是否要播放(play)及播放哪首乐曲(song),若一曲播放结束则进入播放结束END状态。 模块根据mcu模块的要求,逐个取出音符{note,duration}送给note_player模块播放,当一首乐曲播放完毕,回复mcu模块乐曲播放结束信号(song_done)。 模块接收到需播放的音符,在音符的持续时间内,以48kHz速率送出该音符的正弦波样品给AC97音频接口模块。当一个音符播放结束,向song_reader模块发送一个note_done脉冲索取新的音符。 、ac97_if模块负责与AC97音频系统接口工作,本实验已提供了这两个模块的代码。 另外,按键处理模块完成输入同步化、防颤动和脉宽变换等功能。 1、主控制模块mcu的设计 mcu模块是主控制模块,有响应按键信息、控制系统播放两大任务,工作流程如下面的流程图所示。要求系统复位后经RESET状态初始化后进入WAIT状态等待按键输入或乐曲播放结束应答,若有按键输入则转入相应的按键处理状态(NEXT或PLAY),若一曲播放结束则进入结束播放END状态。 mcu的控制器算法流程图如下图: 以下为mcu的端口含义

音乐播放器的设计与实现

第一章绪论 1.1背景 随着电子技术的飞速发展,嵌入式设备在各领域的应用越来越广泛,复杂度也越来越高,对其他开发方法也提出了更多的要求和更大的挑战。在嵌入式设备系统开发过程中需要将软件应用与操作系统编译连接成一个整体,然后下载到目标机上运行,所以,嵌入式设备的开发过程是一个复杂的过程。 3作为高质量音乐压缩标准,给音频产业带来了具大的冲击。3技术使音乐数据压缩比率大,回放质量高。如格式的音乐数据压缩成3格式,音效相差无己,但大小至少可压缩12倍。由于3音乐的较小数据量和近乎完美的播放效果使其在网络上传输得以实现。1995年,3格式的音乐文件刚在网络上传播时,主要用等播放软件进行播放,使3音乐无法脱离计算机进行播放,给音乐欣赏带来了不便。近几年以来,随着3播放器的出现及其技术的发展,人们对3播放器的要求越来越高,制造商在3播放器的选型、设计、开发、附加功能和适用领域等方面做了很多努力,设计了多种方案。本设计主要是利用技术设计一款新型的3播放器。 9是公司的16/32位处理器,是适用于普通设备的一种高性价比的微控制器。本设计采用的是三星公司推出的9芯片S3C2440,具有低价格、低功耗、高性能、超小体积等特点主要适用于中高端场合,目前在嵌入式系统中正得到日益广泛的应用。S3C2440主频高达400M,片上集成了丰富的资源:如()总线与控制器,为与数模转换器()的连接提供了一种理想的解决方案。 3播放器的设计比较复杂且对处理器的要求较高,因而3播放器必须仔细设计以降低成本。本设计是在9平台上设计、实现一个3播放器。 第二章系统总体方案 2.1 系统功能 本设计提出了一种基于嵌入式处理器硬件平台的3播放器设计方法。此播放器采用体系结构中的9作为系统控制器,利用外围设备通用串行接口下载3歌曲,用存贮3文件。主要对3做了各个方面的功能分析,对硬件设计、软件设计、软件实现、系统编译等方面做了介绍。系统的主要部分是音频编码与解码,这是系统设计的核心。3播放器设计的突出问题就是硬件控制和软件控制,另外还有硬盘控制、键盘控制、液晶显示,这些控制都是基于一块芯片。基于9的3播放器设计的软件体系结构采用分层模式,它包括软件层、硬件层、驱动层、操作系统层、及3播放器应用层。主要实现歌曲的播放。 2.2 设计指标 1、3工作电压为具有3.3V左右,电流250,具有音频解码和播放功能。 2、通过接口与大容量外部存储设备进行数据传输,能实现网络播放与下载、触摸屏输入功能。

基于java的音乐播放器课程设计报告

Java课程设计报告题目:java音乐播放器 姓名 学号 院系 班级 专业 任课教师

1.设计内容及要求 能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环等等,界面充实,交互友好,可以添加 多首歌曲目录 一个简单的基于java语言的音乐播放器,菜单栏:文件,播放控制和播放列表,文件菜单包含打开、循环和退出三个菜单项;播放控 制菜单包含播放、暂停和停止三个菜单项,播放列表菜单则是当向里面 添加歌曲之后才能够查看到里面所包含的歌曲目录。当播放歌曲时,可 以调节音量大小或者设置是否静音;可以查看当前播放音乐的相关属 性,如:歌曲名,歌手,发布时间,所属专辑等等。 2.需求分析 1、时间跟踪条:根据歌曲播放的进度,控制条自动进行追踪,用户可以 随时了解歌曲的播放进度 2、音量控制键:可以点击该控键进行音量大小的调节以及是否静音的设 置 3、属性查询键:通过该控键,用户可以查看当前播放音乐的相属性,获 取关于该歌曲的用户所需的相关信息。 4、菜单栏: ①文件: 打开:用户通过该菜单项打开本地音乐文件,听任何用户想 听的歌曲 循环:通过循环设置,用户可以重复的播放一首喜欢的歌曲 退出:退出音乐播放器,及退出该程序

②播放控制: 播放:选择歌曲之后,通过点击播放菜单项启动播放器播放音乐 暂停:暂停当前正在播放的音乐 停止:停止当前正在播放的音乐 ③播放列表:当用户通过文件打开本地音乐文件后,及相当于在 播放列表里面添加了歌曲,及形成相应的歌曲播放目录 3.总体设计 结合需求分析来看,整个设计包含了简单的菜单栏,根据用户需求设置了三个简单的实现基本操作的菜单,分别是:文件,播放控制, 播放列表;根据具体的操作每个菜单还包含了相应的菜单项,文件:打 开,循环,退出;播放控制:播放,暂停,停止;播放列表则没有菜单 项,该菜单就是用来显示或者查看相应的歌曲目录的。 该音乐播放器设置了两个窗口,运行程序时打开的初始化欢迎界面,用户可以根据自己的需求进行菜单栏里面的基本操作和相应的设 置,当用户添加或者打开音乐播放文件的时候,程序将会显示出第二个 音乐文件播放窗口,与此同时,第一个初始化窗口将会自动隐藏,在音 乐播放窗口里面用户可以进行相关的音乐播放的控制操作。 当用户进入音乐播放窗口时,该窗口有几个快捷控制的控键:时间追踪轴:可以实现播放的前进、后退功能,根据用户需求调节音乐的 播放进度等;音量控制:设置静音,打开扬声器或者调节音量大小;播 放列表:查看当前播放音乐的相关属性。

13个常见音乐播放器大评比

普通播放器 1:Windows Media Player 7(系统自带版本) 这个是非常常用的播放器,一般网吧,课室都用这个 优点:系统自带,无需安装。新版本是某些随身听播放器传输视频或者音频必须得软件。新版本在声音上有一定改善。 缺点:声音不好听!含糊不清。对各种格式支持非常不好!ape 和flac这类牛B哄哄的格式别指望能播放的了。打开速度慢,系统资源占用多,缺点太多,就不一一赘述了。 音质指数:C 实用指数:C 2:搜狗音乐盒、酷我音乐盒、QQ音乐、青苹果音乐播放器、酷狗音乐

[attach]2666731[/attach] 这些都是网络播放器,主要功能是让大家能在播放器内直接选择最新最流行的音乐试听 优点:内置音乐排行榜,点选热门歌曲直接播放。 缺点:声音质量差,不支持无损格式,转换,修改文件信息等功能缺乏,只适合做试听之用。 音质指数:D 实用指数:D 3:千千静听 [attach]2666734[/attach] 非常大众化的一个播放软件 优点:使用方便,修改和编辑文件信息效率高,对各种格式的支持和转换都很好,界面也丰富多彩。官方版本自带歌词速配,非常适合想偷懒又想看歌词的人。声音还算过得去。软件还算小巧,占用小。 缺点:千千的声音对追求音质的人来说太过马虎,特别突出的问题是对DTS文件的播放,出来的效果可以用非常差来形容。默认的配置使用了均衡器(两边高中间低),可以说是扭曲了声音。

音质指数:B+ 实用指数:A 4:暴风Winamp 曾经风靡一时的播放器 优点:界面华丽(默认皮肤来算,如果会弄的话,很多播放器的皮肤都可以很炫),播放mp3声音还不错。功能随着版本更新越来越多。 缺点:新版本不支持ape,flac的播放,需要找插件(麻烦)。随着版本不断更新,软件越来越臃肿,无用功能太多。 音质指数:B+ 实用指数:B 5:jetaudio

相关主题