基于某FPGA地音乐播放器设计

基于某FPGA地音乐播放器设计
基于某FPGA地音乐播放器设计

唐山学院

《EDA技术》课程设计

题目音乐播放器

系(部) 智能与信息工程学院

班级14电信2班

姓名张洪达

学号

指导教师魏明哲张银蒲

2016 年12 月19 日至12月30 日共2 周

2016年12 月30 日

《EDA技术》课程设计任务书

《EDA技术》成绩评定表

前言 (1)

1设计原理分析 (2)

1.1设计任务 (2)

1.2设计要求 (2)

2 软件介绍 (3)

2.1 Verilog HDL相关介绍 (3)

2.2 QuartusⅡ相关介绍 (3)

3 总体设计 (5)

3.1总体结构 (5)

3.2设计原理 (5)

4主要模块功能的设计 (7)

4.1 顶层模块 (7)

4.2数码管显示模块 (7)

4.2.1分频器模块 (7)

4.2.2位选模块 (8)

4.2.3滚动模块 (8)

4.2.4转换模块 (9)

4.3 蜂鸣器块 (9)

4.3.1选址模块 (9)

4.3.2存储器模块 (10)

4.3.3译码器模块 (10)

4.3.4显示控制模块 (11)

5 程序调试运行 (12)

5.1 seg7_drive的验证 (12)

5.2:beep的软件验证 (13)

6 硬件仿真 (15)

6.1引脚设置 (15)

6.2硬件调试 (15)

7 总结 (17)

参考文献 (18)

附录 (19)

随着电子技术的飞速发展,微电子技术的进步主要表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得本征半导体的工艺水平的线宽已经达到了60nm,并在不断地缩小,面在硅片单位面积上,集成了更多的晶体管。集成电路设计正在不断地向超大规模,极低功耗和超高速的方向发展,电子产品的功能越来越强大,体积越来越小,功耗越来越低。

顺应电子技术的发展趋势,可编程逻辑器件和EDA 技术使设计方法发生了质的变化。把以前“电路设计+硬件搭试+调试焊接”转化为“功能设计+软件模拟+仿真下载”。利用EDA 开发平台,采用可编程逻辑器件FPGA 使硬件的功能可通过编程来实现,这种新的基于芯片的设计方法能够使设计者有更多机会充分发挥创造性思维,实现多种复杂数字逻辑系统的功能,将原来由电路板设计完成的工作放到芯片的设计中进行,减少了连线和体积,提高了集成度,降低了干扰,大大减轻了电路设计和PCB设计的工作量和难度,增强了设计的灵活性,有效地提高了工作效率,增加了系统的可靠性和稳定性,提高了技术指标。

这些技术使得各种电子产品迅速的进入了我们的生活,我们处在一个被电子产品深度包围的时代,在一个普通老百姓的家里,衣食住行,每一个产品的诞生都离不开EDA技术,从彩色电视机,到智能冰箱,到全自动洗衣机,电饭煲,到微波炉,电磁炉,电子琴,再到个人随身用的手机,MP3音乐播放器都需要EDA技术提供支持。

本文应用Verilog HDL硬件描述语言,设计一个音乐播放器,它能将预先设置存储好的乐曲自动播放出来,下面对乐曲播放电路的设计与实现中涉及的EDA技术,以及EDA技术中常用的开发器件FPGA可编程逻辑器件,开发语言Verilog HDL以及开发软件Quartus Ⅱ作简单介绍。

1 设计原理分析

1.1设计任务

本课题要求设计音乐播放器,能实现基本的播放音乐的功能。

1.2设计要求

设计一个简易的音乐播放系统,使其下载到电路板上使,能使蜂鸣器播放音乐。

在可以使蜂鸣器播放音乐的基础上,增加播放音乐的数量,要求播放的音乐在三首以上。

在数码管上显示当前播放的音乐是第几首,并使播放的音乐在数码管显示屏上进行滚动(例如,当播放第一首歌曲使,数码管显示000001,并且1由右向左依次显示,其余位置为0),当蜂鸣器播放下一首歌时,数码管的显示可以立即加一,并且仍然由右向左滚动。

2 软件介绍

2.1 Verilog HDL相关介绍

Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种用文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。Verilog HDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。现在,随着系统级FPGA以及片上系统的出现,软硬件协同设计和系统设计变得越来越重要。传统意义上的硬件设计越来越倾向于与系统设计和软件设计相结合。

2.2 QuartusⅡ相关介绍

Quartus II 是Alera公司推出的一款功能强大,兼容性最好的EDA工具软件。该软件界面友好、使用便捷、功能强大,是一个完全集成化的可编程逻辑设计环境,具有开放性、与结构无关、多平台完全集成化丰富的设计库、模块化工具、支持多种硬件描述语言及有多种高级编程语言接口等特点。Quartus II是Altera 公司推出的CPLD/FPGA开发工具,Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片平面布局连线编辑;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文

件和Verilog 网表文件;能生成第三方EDA 软件使用的VHDL 网表文件和Verilog 网表文件。

Quanus Ⅱ设计的主要流程有:创建工程、设计输入、编译、仿真验证、下载,其进行数字电路设计的一般流程如图1-1所示。

图1-1 Quanus Ⅱ一般流程图

当我们安装完成Quartus Ⅱ后,双击桌面上的Quartus Ⅱ图标,迎接我们的就是图1-2所示的开发环境。

图1-2 Quartus Ⅱ开发环境

这个环境包含了几部分内容:最上面的菜单项和工具栏,左边的两个窗口为工程浏览窗口和进度窗口,下面的窗口为信息窗口。利用Quartus Ⅱ进行原理图设计的优点是,设计者不必具有许多诸如编译技术、硬件语言等新知识就能迅速

3 总体设计

3.1总体结构

音乐播放器的系统方框图如图3-1所示,本设计是一种采用FPGA芯片进行

音乐播放器,主要由蜂鸣器模块、数码管显示控制模块、译码器模块、存储器模

块等模块组成。

Beep

图3-1 设计框图

3.2设计原理

根据设计要求,系统的输入信号:时钟脉冲clk,复位信号rst_n;输出信号:

音乐播放器播放的音乐beep,控制数码管的seg和sel。声音的频谱范围约在几

十到几千赫兹,若能利用程序来控制FPGA某个引脚输出一定频率的矩形波,接

上蜂鸣器就能发出相应频率的声音。乐曲中的每一音符对应着一个确定的频率,

要想FPGA发出不用音符的音调,实际上只要控制它输出相应音符的频率即可。

乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的

频率,就可以在扬声器上连续地发出各个音符的音调。而要准确地演奏出一首乐

曲,仅仅让扬声器能够发声是不够的,还必须准确地控制乐曲的节奏,即乐曲中

每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个重要因素。

每个音符对应的频率如下图3-2所示:

图3-2 每个音符对应的频率

4主要模块功能的设计

4.1 顶层模块

顶层模块只要是实现通过FPGA中的结构建模,把每个模块例化过来,将每个模块连接起来。其产生原理是:命名顶层文件名为beep,通过例化把选址模块controller,存储器模块my_rom,乐谱产生模块translate,分频模块dir_freq,显示控制模块show_controller,数码管seg7_drive连接起来,以实现让蜂鸣器播放三首以上音乐,且数码管循环显示当前所播放音乐为第几首。

4.2数码管显示模块

数码管是一种发光的半导体器件,其基本单元式发光二极管。数码管可分为七段数码管和八段数码管,八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP。

数码管特点:1.一个数码管可表示任意一个4位二进制;

2.可分共阴和共阳且本开发板上低电平有效

3.可动态,静态显示;

4.动态扫描频率为1KHZ;

5.根据视觉暂留效果可显示数字。

数码管的实现原理:输入信号为:时钟脉冲clk,复位信号rst_n,位选信号sel,段码seg.依次经过分频器模块,滚动模块,位选模块,转换模块来实现。

下图为共阴极数码管的电路图和引脚图:

图4-1 共阴极数码管

4.2.1分频器模块

分频器模块的功能为产生所需要的频率。其原理是系统输入信号时钟脉冲clk,复位信号rst_n。

例如:频率是1MHZ,则周期是1000ns,如果占空比为50%,则高低电平每500ns 变反一次。如果设所需脉冲频率为freq,则得到所要脉冲的计数个数NUM 为:

121

50-?=

freq MHZ NUM

实现框图如图4-2所示:

4-2 分频器模块实现框图

4.2.2位选模块

位选模块的功能是用来控制那个数码管亮灭。要使数码管同时亮,可以先让第一个数码管亮,在让第一个数码管灭,第二个数码管亮,因为人眼视觉暂留效果,只要每个数码管灭的时间足够短,我们就可以看到六个数码管是同时亮着的。

其产生原理:系统的输入信号有:时钟脉冲clk,复位信号rst_n,6个数码管可显示的24位数data ;系统输出信号有:控制那个数码管亮灭的位选信号sel,每个数码管显示的4位二进制数show_data 。当每个时钟上升沿到来时,位选信号初始为3’b000,位选信号每到上升沿来时加一,直到位选信号等于5。且第零个数码管输出show_data 为data 的[23:20]位,第一个数码管输出show_data 为data 的[19:16]位,第二个数码管输出show_data 为data 的[15:12]位,第三个数码管输出show_data 为data 的[11:8]位,第四个数码管输出show_data 为data 的[7:4]位,第五个数码管输出show_data 为data 的[3:0]位。

实现框图如图4-3所示:

4-3 位选模块实现框图

4.2.3滚动模块

滚动模块功能是使音乐播放器所播放的第几首歌的数字在数码管上显示,并由右向左滚动,且其余位置显示0。

其产生原理:该模块输入信号:时钟脉冲clk,复位信号rst_n,要输出的当前歌曲位置data2;输出信号:6个数码管要显示的24位数data.

当要输出第一首歌位置时,应使初始data<=24’h000001,下一秒使data<=24’000010。即每增加一秒让data输出的1左移一位。

实现框图如图4-4所示:

4-4 滚动模块实现框图

4.2.4转换模块

转换模块功能为把数码管要显示的四位二进制数转换成七段数码管的段码。

其产生原理:该模块的输入信号:数码管要显示的四位二进制数show_data;输出信号:七段数码管的段码seg。例:当show_data=0时seg=8'b1100_0000;

实现框图如图4-5所示:

4-5 转换模块实现框图

4.3 蜂鸣器模块

蜂鸣器模块功能是实现让蜂鸣器播放三首以上的乐曲。

其实现原理:输入信号为时钟信号clk和复位信号rst_n,中间经过选址模块,存储器模块,乐谱产生模块,显示控制模块,以及数码管显示模块,输出信号为音符对应的频率信号beep(clk_out)和数码管显示信号seg和sel。

4.3.1选址模块

选址模块功能为程序存储器rom中所存储的数据分配地址。

其实现原理:输入信号clk,rst_n;输出信号addr。每一个时钟上升沿到来时,先判断时间是否已经记满到12.5ms,若已记满,再判断地址是否小于255,若小于,则地址加1,直到加到255,反复循环。

实现模块如图4-6所示:

图4-6 选址模块实现框图

4.3.2存储器模块

存储器模块功能式实现对音乐音符的存储,每个音符对应一个地址,地址来源于选址模块的地址。

其实现原理:输入信号clk,addr,输出信号为q,将所需要的乐谱音符存入到存储器my_rom中,然后将存储音符输出。

例如在存储器的0-64存储两只老虎的音符:

图4-7 存储器的0-64存储两只老虎的音符

实现模块如图4-8所示:

4-8 存储器模块实现框图

4.3.3译码器模块

译码器模块功能为将存储器输出的音符译码成每个音符所对应的频率输出给分频器模块。

其实现原理:输入信号为时钟信号clk,复位信号rst_n,音符信号music_data。

输出信号为music_freq信号。在每一个时钟上升沿到来之后,经过一个case,endcase选择语句,对music_data进行选择,输出一个对应音符的频率。

实现模块如图4-9所示:

4-9 译码器模块实现框图

4.3.4显示控制模块

显示控制模块功能为将显示的歌曲数目对应的显示在七段数码管,让七段数码管的数据循环显示。

其实现原理:输入信号为时钟信号clk,复位信号rst_n, 地址信号addr。输出信号为输入到数码管的数据显示信号data1。在每一个时钟信号到来之后,通过if语句的嵌套语句来判断输入信号的地址addr来决定输出给数码管的数据data1,再通过例化与数码管显示模块连接起来。

实现模块如图4-10所示:

4-10 显示控制模块实现框图

5 程序调试运行5.1 seg7_drive的验证

激励程序如下:

`timescale 1ns/1ps

module seg7_drive_tb;

reg clk;

reg rst_n;

reg [23:0] data;

wire [2:0] sel;

wire [7:0]seg;

initial

begin

clk=1'b1;

rst_n=1'b0;

data=24'h234567;

#200.1

rst_n=1'b1;

#10_000

$stop;

end

always #10 clk=~clk;

seg7_drive seg7_drive_dut(

.clk(clk),

.rst_n(rst_n),

.data(data),

.sel(sel),

.seg(seg)

);

endmodule

仿真图如图5-1所示:

5-1 seg7_drive仿真框图5.2:beep的软件验证

激励程序程序如下:

`timescale 1ns/1ps

module controller_tb;

reg clk;

reg rst_n;

reg en;

wire [7:0] addr;

initial

begin

clk=1'b1;

rst_n=1'b0;

en=1'b0;

#200.1

rst_n=1'b1;

#234

en=1'b1;

#3000

en=1'b0;

#2000

en=1'b1;

#4000

$stop;

end

always #10 clk=~clk;

controller controller_dut(

.clk(clk),

.rst_n(rst_n),

.addr(addr),

);

endmodule

仿真图如图5-2所示:

5-2 beep的仿真框图

6 硬件仿真

6.1引脚设置

输入信号是时钟信号clk,复位信号rst_n,输出信号为频率信号beep,数码管控制信号sel,和数码管显示信号seg。

做硬件验证之前需要清楚实验板上各键与各信号的链接情况,参照资料得出本设计中各引脚的对应情况如下。引脚设置如图6-1所示:

图6-1 引脚设置图

6.2硬件调试

本设计采用Quartus II软件进行仿真设计,Quartus II 是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。经过了上面的步骤,我们已经完成了VerilogHDL代码的编译。这就是说我们已经在逻辑上完成了一个实现了我们所需要功能的芯片,当然,前提是代码是正确的。编写VerilogHDL进而进行编译的目的是为了能够最终使我们的FPGA芯片具有我们所需要的功能,那么这就需要将我们实现的那个逻辑上的芯片与实际的FPGA芯片结合起来。其实完成上面的工作很简单,只需要将我们的那个逻辑上的实体的管脚与FPGA芯片的管脚进行绑定就可以了。各个单元模块完成后,即可将分模块和顶层模块进行仿真测试,同时可根据设计要求加入测试输入条件。仿真后得到的相应输出结果与预先的结果想比较,若不相符,则应修改设计,直到相符为

止。为了仿真得到明显的效果,最好能能下载到带数码管的试验想上进行直接的数字观察。图6-2是最终调试结果。

图6-2 硬件调试图

蜂鸣器播放音乐,数码管显示播放的是第几首音乐,并且数字进行滚动。

音乐盒设计

基于89c52单片机音乐播放的设计安庆师范学院物理与电气工程学院

1、设计任务和要求 (1) 2、总体设计 (1) 3、硬件设计 (2) 3.1 硬件电路 (2) 3.2 原理说明 (2) 4、软件设计 (2) 5、仿真、安装和调试 (5) 6、收获与体会 (6) 附件1:元件清单 (6) 附件2: 总仿真电路图 (7) 附件3:音乐程序 (8)

音乐盒设计 1、设计任务和要求 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲。 (2直接当前播放的歌曲。 (3)可通过功能键选择播放上一首、下一首和暂停播放歌曲。 2、总体设计 (1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 (2)利用8052的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 (3):起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F==Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-/2/Fr=65536-500000/Fr 低音D0的T=65536-500000/262=63627 中音D0的T=65536-500000/523=64580 高音D0的T=65536-500000/1047=65059

音乐播放器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.360docs.net/doc/8913897446.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();

基于51单片机数字音乐盒的设计

单片机实物设计 题目: 单片机音乐盒设计 班级: K0312416-17 姓名:湛俊朱斌杨裕庆 学号:K031241705 K031241632 K031241737

摘要 本设计是一个基于STC89C51RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。本音乐盒共有四首歌曲,用4个按键控制。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS 仿真软件对硬件进行仿真调试,节约了设计时间。 【关键词】STC89C51RC 按键蜂鸣器 LCD1602液晶

目录 前言 ................................................................................................................................. 第一章工作原理 .............................................................................................................. 1.1设计目标 ............................................................................................................... 第二章软件设计与分析................................................................................................... 2.1 软件设计的组成................................................................................................... 2.2 各部分软件分析 ................................................................................................. 2.2.1 延时165MS,即十六分音符子函数 .......................................................... 2.2.2 延时1MS子函数...................................................................................... 2.2.3 定时器0中断子函数 .............................................................................. 2.2.4 播放音乐子函数...................................................................................... 2.5 定时器1中断子函数.................................................................................. 2.6 按键扫描子函数 ......................................................................................... 2.2.7 主函数..................................................................................................... 2.3 总源程序 ............................................................................................................ 第三章软件仿真 .............................................................................................................. 3.仿真图...................................................................................................................... 3.1 元件清单 ............................................................................................................... 总结 ..................................................................................................................................... 参考文献..............................................................................................................................

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.360docs.net/doc/8913897446.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的音乐播放器

基于FPGA的音乐播放器 尝试利用FPGA开发板板载资源以及外搭的功率放大电路制作一台音乐播放器,能够播放通过计算机拷贝在SD卡(或MMC卡、TF卡)的根目录中的某一个WAV文件。 一、基本要求:制作音乐播放器(50分) (1)除了外置的音频功率放大器之外,本系统的主体部分(单片机)应基于STI51开发板,音乐来源于SD卡(或MMC卡、TF卡)(10分) (2)制作一个音频功率放大器,能够实现音频信号的功率放大功能,并能成驱动普通扬声器或耳机。(10分) (3)能够播放单声道、8位,采样率为1.5K(或更高)的WAV文件。实际播放时,歌声、伴奏声能依稀可辨。(30分) 二、提高要求:提高音乐播放器的音质(50分) (1)能够播放单声道、8位,采样率为2.5K或更高的WAV文件。实际播放时,歌声、伴奏声清晰可辨。(20分) (2)音频功率放大器从FPGA开发板取电,使用USB即可完成系统所有器件的供电。(10分) (3)改造一切可以改造的部分以提高播放器的音质。(20分) (提示:可以利用Adobe Audition软件编辑WAV文件并改变音频位数与采样率;可以利用Ultraedit软件以二进制方式查看WAV文件;WAV文件数据区的每一个字节顺次送入D/A中即可实现WAV文件的播放。) 起草人:刘文浩 2010-11-25,04:43

若具备一定的基础,以下内容可以忽略。 下面的内容是利用单片机制作音乐播放器的步骤。 题目分析 1 系统开发步骤 本题目对于刚学习完单片机尚未上手的同学来说可能难度较大,刚开始就着手制作一个以SD卡(或MMC卡、TF卡)为存储介质的音乐播放器并且要想尽办法提高播放音乐的音质具有较大难度,且容易让制作者失去继续制作下去的信心。建议在制作过程中循序渐进,一步一步逐步深入逐渐实现以下功能: 第一步:能够播放存储在单片机程序(ROM)中的音乐。(参考时间:4天) 第二步:通过串口调试助手向单片机发送WAV文件,使单片机能够播放计算机发出的WAV文件数据流。(参考时间:3天) 第三步:能够播放通过计算机拷贝在SD卡(MMC卡、TF卡)的根目录中的第一个WAV文件。(参考时间:12天) 第四步:尽可能的提高播放的音乐的音质。(参考时间:-_- ) 当然了如果做此题的同学感兴趣则可以继续下去完成以下功能: 第五步:播放通过计算机拷贝在SD卡(MMC卡、TF卡)中的所有文件并支持歌曲名称显示、上一首下一首歌切换功能。(参考时间:12天) 第六步:播放通过计算机拷贝在普通U盘的根目录中的第一个WAV文件。(参考时间:30天) 注:以上的参考时间为一个具有三个人的团队每天正常奋斗1~2小时(队友之间不吵架^_^、各种开发调试工具齐全好用,含硬件制作、软件编写及其调试)的情况下衡量的。仅仅用来表示各个步骤开发的相对难度,仅供参考。

音乐盒设计

机电学院单片机课程设计 任务书 设计名称:音乐盒的设计 学生姓名:*** 指导教师:***** 起止时间:自*** 年* 月* 日起至*** 年*月* 日止 一、课程设计目的 利用AT89C51系列单片机,实现两首歌曲的依次、循环播放,并在播放歌曲的同时,与之对应的LED灯亮起,形成三种绚丽的灯光效果,制作成一个简单的音乐盒。 二、课程设计任务和基本要求 设计任务: 1.运用AT89C51系列单片机的技术原理,通过硬件电路制作以 及软件编译,设计制作出一个多功能音乐盒; 2.运用2N2905三极管放大技术,对扬声器音频信号进行放大, 实现音乐播放功能; 3.8个LED灯对应音乐的不同音阶,实现伴随音乐播放,发出 不同的花样效果的功能。 基本要求: 1. 能够实现设计任务的基本功能; 2. 至少设计两种音乐的播放和三种灯光效果的制作; 3. 能够完成音乐盒实物的焊接; 4. 完成设计后独立撰写3000字左右的设计报告。

目录 摘要 (1) 关键字 (1) 1 概述 (2) 1.1设计意义 (2) 1.2设计方案 (2) 1.3设计内容 (2) 2 硬件设计 (3) 2.1音乐盒的结构框图 (3) 2.2单片机模块 (3) 2.2.1 AT89C51系列单片机介绍 (3) 2.2.2 最小系统 (4) 2.3扬声器模块 (4) 2.4LED显示模块 (5) 2.5按键模块 (5) 3 软件设计 (6) 3.1音乐盒的功能框图 (6) 3.2音调、节拍以及编码的确定方法 (6) 3.2.1 音调的确定 (6) 3.2.2 节拍的确定 (7) 3.2.3 编码 (8) 3.3软件程序设计 (9) 3.3.1 程序流程图 (9) 3.3.2 程序源代码 (10) 4 调试 (10) 4.1实验环境 (10) 4.1.1 PROTEUS软件简介 (10) 4.1.2 KEIL简介 (11) 4.2仿真调试 (11) 4.3花样灯3种效果 (12) 4.4实物调试 (13) 5 总结 (14) 参考文献 (15) 附录 (16) 附录1仿真电路图 (16) 附录2实物图 (16) 附录3元器件清单 (16) 附录4程序源代码及注释 (17)

基于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("文件");

VHDL音乐播放器

洛阳理工学院 课程设计报告 课程名称 EDA技术与VHDL 设计题目音乐播放器的设计与仿真 专业通信工程 班级 B1105 学号 B1105 姓名 完成日期 2014年12月22日

前言 随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。现如今掌握EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。 传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分,接下来就要选择特定芯片,焊接成PCB电路板,最后对成品PCB电路板进行调试。这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。随着可编程器件和EDA技术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,提高了设计的灵活性和工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。 EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。EDA技术主要有以下特征: (1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了系统级综合优化工具,缩短了复杂ASIC的设计周期。 (2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。 (3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。 (4)可测性综合设计。 (5)为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。 (6)建立并设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。 总而言之,EDA技术的出现,给电子信息产业带来了革命性的变革。

单片机课程设计---电子音乐盒的设计

课程设计(说明书) 电子音乐盒的设计 院(系)名称工学院机械系 专业名称机械设计制造及其自动化学生姓名 指导教师 2013年01月12日

课程设计任务书 题目: 电子音乐盒的设计 课程:单片机课程设计 课程设计时间 2012年12月21 日至2012年1 月3日共2 周课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页) 1.设计要求 查阅资料,了解单片机控制单音喇叭发声原理;设计基于单片机的电子音乐盒;通过按钮可选择不同的音乐。 创新设计: 1、安装复位键,暂停、播放键; 2、有6首不同的音乐用程序编出可供选择。 2. 设计任务与要求 2.1系统硬件电路设计 根据该系统设计的功能要求选择所用元器件,设计硬件电路。要求用Proteus绘制整个系统电路原理图。 2.2软件设计 根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。 2.3 Proteus仿真 用Proteus对系统进行仿真并进行软硬件调试。 2.4 编写设计说明书 内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于4000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要绘制整个系统及各部分的软件流程图,列出程序清单,逐条加以注释,并在各功能块前

加程序功能注释。 3.工作计划 4.主要参考资料 单片机课程设计指导书皮大能北京理工大学出版社2010.7 8051单片机实践与应用吴金戎清华大学出版社2003.8 单片机技术基础教程与实践夏路易电子工业出版社2008.1 MCS-51单片机原理接口及应用王质朴北京理工大学出版社2009.11 基于Proteus的单片机系统设计与仿真实例蒋辉平机械工业出版社2009.7 指导老师签字: 日期:

音乐播放器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();

基于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.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)2.采用LCD显示信息 3.开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) 4.可通过功能键选择乐曲,暂停,播放。 5.选作内容:显示乐曲播放时间或剩余时间 硬件电路:本设计中用到了89C51单片机,4*4键盘,蜂鸣器,16*2 LCD,七段 显示数码管LED。 原理说明:当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。 (1)硬件电路中用P1.0~P1.7控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫描列。 (2)用P0.0~P0.7,P2.0~P2.7控制LED,其中P0.0~P0.7控制七段码a,b,c,d,e,f,g,用P2.0~P2.7为数码管位选信号。 (3)用,P2.0~P2.2作为LCD的RS,R/W,E的控制信号。用P0.0~P0.7作为LCD的D0~D7的控制信号。 (4)用P3.7口控制蜂鸣器。 (5)电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。

电路图: 【试验时请仔细阅读后文说明!此图仅为我站制作,并不代表原作者意愿;若您制作成功,望在网络推广。】实验控制流程图如下:

S BIT P2.0 ;定义液晶显示端口标号 RW BIT P2.1 E BIT P2.2 ;******************************************** L50MS EQU 60H L1MS EQU 61H L250MS EQU 62H SEC EQU 65H MIN EQU 64H HOU EQU 63H ;******************************************* org 0000h ljmp main ORG 000BH LJMP TT0 ORG 001BH LJMP T1INT org 1000h main: ;-----------------------;液晶初始化 MOV SP,#70H MOV P0,#01H ;清屏 CALL ENABLE MOV P0,#38H ;8位,2行显示

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

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

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

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

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

摘要 根据国家发改委与专业教学委员会对教育机构的要求,为培养适应我国21世纪国民经济发展的电子设计人才;同时基于国家教委面向21世纪电工电子课程体系改革和电工电子工科教学基地建设两项教学改革研究成果。要求高等本科在校学生能够自己动手完成简单的数字器件设计。 本次设计在自己手动焊接简易的PFGA板子上实现,并且在QusrtusII 9.0上利用VHDL设计数控分频器电路,利用数控分频原理设计音乐硬件演奏电路,并制定LPM-ROM 存储音乐数据,以“梁祝”乐曲为例,将音乐数据存储到LPM-ROM,就达到了已纯硬件的手段来实现乐曲演奏的效果,只要修改LPM-ROM所存储的音乐数据,将其转换为其他的音乐数据,再重新制定LPM-ROM,在连接到程序中就可以实现其他与取得演奏。 本次设计采用的FPGA主芯片位ALTERA公司的FLEX系列的EPF10K10LC84-4。由于板子是自己手动在万用板上焊接的所以只焊接了必要的外设如蜂鸣器和LED。 关键词 FPGA;音乐播放器;QuartusII;VHDL;

目录 摘要............................................................................................................................................ I 第一章前言 (2) 1.1关于EDA技术 (2) 1.2 关于VHDL (2) 1.3 关于EDA工具 (3) 1.4 有关本次课程设计 (3) 第二章设计实现 (4) 2.1音乐演奏电路原理 (4) 2.1.1音符频率的获得 (4) 2.1.2乐曲节奏的控制............................................................ 错误!未定义书签。 2.1.3乐谱发生器.................................................................... 错误!未定义书签。 2.1.4乐曲演奏电路原理框图................................................ 错误!未定义书签。 2.2音乐硬件演奏电路的设计实现 (5) 2.2.1各个模块的功能简介.................................................... 错误!未定义书签。 2.2.2 music模块 (6) 2.3地址发生器模块 (8) 2.3.1地址发生器的VHDL设计 (8) 2.3.2波形仿真 (9) 2.4分频预置数模块 (9) 2.4.1分频预置数模块的VHDL设计 (9) 2.4.2波形仿真 (10) 2.5十六进制模块......................................................................... 错误!未定义书签。1 2.5.1十六进制模块的VHDL设计........................................ 错误!未定义书签。1 2.5.2波形仿真...................................................................... 错误!未定义书签。1 2.6数控分频模块......................................................................... 错误!未定义书签。2 2.6.1数控分频模块的VHDL设计.......................................... 错误!未定义书签。 2.6.2 波形仿真....................................................................... 错误!未定义书签。 2.7 分频模块 (13) 2.8顶层模块 (15) 结论 (17) 参考文献 (18)

数字音乐盒的设计与实现

课程设计报告 课程设计名称:微机系统综合课程设计课程设计题目:数字音乐盒的设计与实现

1总体设计方案 1.1题目介绍与要求 本次课程设计的任务是运用伟福Lab8000试验箱和keil软件设计并实现一个数字音乐盒,要求采用I/O产生一定频率的方波,从而驱动蜂鸣器发出不同的音调,演奏乐曲;并且需要采用七段数码管显示当前播放的歌曲序号和播放时间;还得通过数字键盘直接选择乐曲,控制选择上一曲和下一曲音乐,具有暂停和播放控制功能。 1.2设计思路 1.2.1音调的产生 频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍。在两个八度音之间又分为十二个半音。另外,音名A (简谱中的低音6)的频率为440Hz,音名B到C之间、E 到F之间为半音,其余为全音。由此可以计算出简谱中从低音1到高音1之间每 个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的。 要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以 2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。 利用51单片机的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。 此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。 例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系公式如下:

音乐播放器java源代码

package com.ding.player; import java.io.File; import java.io.IOException; 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 Player { private String path;//文件路径 private String name;//文件名称 private AudioFormat audioFormat;//播放格式 private AudioInputStream audioInputStream;//音乐播放输入流 private SourceDataLine sourceDataLine;// 播放设备 private boolean isStop = false;// 播放停止标志 /** * 创建对象时需要传入播放路径及文件名称 * @param path * @param name */ public Player(String path ,String name) { this.path = path; https://www.360docs.net/doc/8913897446.html, = name; } /** * 播放音乐 */ public void play() { File file = new File(path + name); try { //获取音乐播放流 audioInputStream = AudioSystem.getAudioInputStream(file); //获取播放格式 audioFormat = audioInputStream.getFormat(); /*System.out.println("取样率:"+ audioFormat.getSampleRate());

相关文档
最新文档