文档库 最新最全的文档下载
当前位置:文档库 › 音乐播放器的设计与实现

音乐播放器的设计与实现

音乐播放器的设计与实现
音乐播放器的设计与实现

第一章绪论

1.1背景

随着电子技术的飞速发展,嵌入式设备在各领域的应用越来越广泛,复杂度也越来越高,对其他开发方法也提出了更多的要求和更大的挑战。在嵌入式设备系统开发过程中需要将软件应用与操作系统编译连接成一个整体,然后下载到目标机上运行,所以,嵌入式设备的开发过程是一个复杂的过程。

MP3作为高质量音乐压缩标准,给音频产业带来了具大的冲击。MP3技术使音乐数据压缩比率大,回放质量高。如CD格式的音乐数据压缩成MP3格式,音效相差无己,但大小至少可压缩12倍。由于MP3音乐的较小数据量和近乎完美的播放效果使其在网络上传输得以实现。1995年,MP3格式的音乐文件刚在网络上传播时,主要用Win amp等播放软件进行播放,使MP3音乐无法脱离计算机进行播放,给音乐欣赏带来了不便。近几年以来,随着MP3播放器的出现及其技术的发展,人们对MP3播放器的要求越来越高,制造商在MP3播放器的选型、设计、开发、附加功能和适用领域等方面做了很多努力,设计了多种方案。本设计主要是利用ARM技术设计一款新型的MP3播放器。

ARM9是ARM公司的16/32位RSIC处理器,是适用于普通设备的一种高性价比的微控制器。本设计采用的MCU是三星公司推出的ARM9芯片S3C2440, 具有低价格、低功耗、高性能、超小体积等特点主要适用于中高端场合,目前在嵌入式系统中正得到日益广泛的应用。S3C2440主频高达400M,片上集成了丰富的资源:如IIS (In ter-IC sou nd)总线与DMA控制器,为与数模转换器(DAC) 的连接提供了一种理想的解决方案。

MP3播放器的设计比较复杂且对处理器的要求较高,因而MP3播放器必须仔细设计以降低成本。本设计是在ARM9平台上设计、实现一个MP3播放器。

第二章系统总体方案

2.1系统功能

本设计提出了一种基于嵌入式ARM处理器硬件平台的MP3播放器设计方法。此播放器采用ARM体系结构中的ARM9作为系统控制器,利用外围设备USB通用串行接口下载MP3歌曲,用flashcard存贮MP3文件。主要对MP3做了各个方面的功能分析,对硬件设计、软件设计、软件实现、系统编译等方面做了介绍。系统的主要部分是音频编码与解码,这是系统设计的核心。MP3播放器设计的突出问题就是硬件控制和软件控制,另外还有硬盘控制、键盘控制、液晶显示,这些控制都是基于一块芯片。基于ARM9的MP3播放器设计的软件体系结构采用分层模式,它包括软件层、硬件层、驱动层、操作系统层、及MP3播放器应用层。主要实现歌曲的播放。

2.2设计指标

1、MP3工作电压为具有3.3V左右,电流250mA,具有音频解码和播放功能。

2、通过USB接口与大容量外部存储设备进行数据传输,能实现网络播放与下载、触摸屏输入功能。

3、操作界面统一管理功能,支持mp3格式、wma格式,该MP3播放器除具有播放音乐外还附有歌词同步等功能。

4、MP3在不充电的情况下待机2小时。

2.3系统总体结构设计

嵌入式微处理器采用三星公司生产的ARM9处理器S3C2440,处理器采用ARM9处理器,它具有小体积、低功耗、低成本、高性能的特点是嵌入式微处理器的理想选择。同时,ARM9处理器可以运行嵌入式操作系统,处理速度足够软件解码,扩充性好,是目前理想的解决方案。本设计的系统总体结构如图 2.1。

三星公司推出的基于ARM9内核32位RISC嵌入式微处理器S3C2440,最高可运行在200MHz。该芯片的功能强大,完全能够满足MP3定点或浮点解码程序的实现,还能够将Linux操作系统移植进入该芯片,实现包括播放MP3在内的多进程,多任务处理,是一种理想的解决方案。

硬件部分软件部分

第三章硬件详细设计方案

3.1硬件设计说明

系统设计的硬件部分主要包括电源、ARM 微处理器芯片、存储芯片、USB 接口芯片以及音频芯片等。可归结为两个部分:(1)微处理器S3C2440,及其外 围电路,具体包括复位电路,存储模块(包括 FLASH 、RAM 和ROM )、电源。 (2)系统的外围部分:音频接口、 UART 、USB 接口、带触摸屏的LCD 、调试及 下载接口。音频编解码可以采用 PHILIPS 的UCB1400等芯片。LCD 可以采用 320X240的TFT 液晶显示器,电源则宜用可充电锂电池。

功率放大

喇叭

图3.1硬件系统结构图

如上图3.1可知,在此次设计中,MP3主要组成部分是:CPU 、MP3解码部分、 音频放大器、FLASH 存储器及SDRAM 存储器。我们所设计的MP3播放器以微 处理器S3C244O 为中心,包括外部存储器、串口 UART 、音频接口、带触摸屏的 LCD 、USB 接口、复位电路、调试及下载接口。解码部分由软件完成。整个播放 器整体控制。

此MP3播放器的核心是三星公司的 S3C2440芯片。系统可以分为核心部分、 音频编解码部分、音频输出、液晶控制等几个部分,此外还有必不可少的电源管 理等部分。音频编解码可以采用PHILIPS 公司的UCB1400芯片。LCD 可以采用 试验箱上的TFT LCD 显示器。硬件设计部分主要是 S3C2440与UCB1400芯片 的连接。具体的模块说明如下。

3.2处理器模块S3C2440

S3C2440是三星公司生产的基于 arm920T 内核的RISC 微处理器,其主频可 达203MHz ,适用于信息家电、PDA 、手持设备、移动终端等领域。S3C2440除 具备一般嵌入式芯片所具有的总线、SDRAM 控制器和3个串口等外设之外,还 具有 TFT LCD 控制器、USBSIave 、USB Host 、I2C 总线控制器、SPI 控制器、IIS 音频接口、SD&MMC 存储卡接口等丰富的扩展功能、AD 转换器,有GPIO (通 用10 口),还有nandflash 控制器,这些东西都有一些寄存器来控制。芯片工作 电压

3.3/1.8 V ,最高运行速度可达200 MHz 。由于它是一款专为手持设备设计的 低功耗处理器.因此可以降低手持设备成本,具有较高的性价比。该芯片是基于 ARM9而开发的多功能 SOC(signal operation control 。ARM9是一种小型、快速、 低能耗、集成式的内核。

复位电路

B

US

接口

以太网控制芯片

带触摸屏的

LCD

FLASH SDRAM 电口

它的功能和特性如下:①具有较高的处理速度,通过内部锁相环,最高可在203 MHz的系统时钟下运行;②具有极低的功耗?其核心供电电压为1. 8 V,

外围I/O 口使用3. 3 V电压;③具有3种低功耗控制方式,甚至可关闭CPU中除唤醒逻辑外的所有功能,极大地降低了功耗;④与其他arm器件相比,S3C2410 片上集成了更多的外设接口,如外部存储控制器、LCD,DMA,USBl. 1,SD,M。MC卡控制器、UART,SPI接口、l2C总线控制器和I2S总线控制器、l2S音频接口、PWM定时器、看门狗、117个外部I/O 口、24个外部中断源、A/D转换器和触摸屏接口、实时时钟及片上PLL的时钟产生等。使用集成接口,有利于功能的扩展。

3.3存储模块

存储模块由一片64 MB的SDRAM和两片16 MB的Flash组成,可为系统提供足够的存储空间。Flash存储器是一种可在系统电擦写,掉电后信息不丢失的存储器。与Flash存储器相比,SDRAM不具有掉电保持数据的特性,但存取速度大大高于Flash存储器,且具有读/写特性。因此系统中SDRAM主要用作程序的运行空间、数据及堆栈区。

3.4音频解码/编码模块

决定MP3音质的关键是主控解码器件中的数模转换器(DAC)单元和耳机功率放大器单元。DAC负责把解码的数字音频流转换成可驱动耳机发音的模拟音频信号;耳机放大器则可把模拟音频信号放大到可驱动耳机的功率。该系统音频

解码/编码模块采用PHILIPS公司的UCB1400芯片,UCB1400的外部接口共有48个管脚,大部分都提供AC Link、中断、音频、ADC、触屏、功率和其它接口。其接口电路图如图3所示。UCB1400是一种用于音频处理的20位立体声解码/编码器。它在一个芯片上集成了音频解码/编码功能、一个触屏控制器和功率管理接口。10个通用管脚可进行可编程输入/输出,使得主机控制器可执行控制功能和监控运行状态。

在此次设计中,UCB1400主要的作用是音频编解码器与触摸屏控制器,还有就

是对电源管理进行监控。S3C2440可通过IIC音频接口与UCB1400连接。

音频数据图3.2音频模块流程

3.5网络模块

S3C2440自身并没有网络控制器,接入以太网时需增加独立的以太网控制器,在此选用DM9000作为以太网控制器。该器件具有通用的处理器接口、10M/100M 自适应、4K双字节静态存取存储器、低功耗、高处理性能,可支持 3.3-5V的容差。

3.6带触摸屏的LCD模块

显示MP3播放控制界面,通过触摸屏实现对播放和暂停,停止,音量递增,音量递减等功能的控制。LCD可以采用试验箱上的320*240的TFT液晶显示器。

3.7 USB接口模块

USB接口模块是连接U盘等存储设备为MP3播放器提供歌曲来源。本设计中,主机是通过主控制器与USB设备进行数据传输的,USB主控制器采用USB2.0标准和开放式主机控制器接口标准,可支持高速和低速的USB设备,具备内置的MCU 和内部缓存,与CPU之间有一个静态存储器的接口。CPU通过这个接口进行读写来完成USB协议要求的控制和数据收发功能。USB主控制器提供一系列的寄存器,系统通过对这些寄存器可以实现对USB主控制器的控制。

3.8串口电路

此MP3提供一个串口,用来调试硬件和软件。Max232用来转换电平。UART 用于开发调试控制和返回调试信息。

3.9系统复位电路

系统时钟输入由24.576MHz的外部晶振提供,而微处理器内核的工作频率为66MHz,S3C2440内部含有PLL电路实现倍频,因此,系统由内部PLL电路倍频至66MHz,供给CPU运行。系统复位信号由IMP811T芯片提供,并且设计了RESET按钮,可以在系统运行过程中随时复位操作,便于系统调试。

3.10电源模块

系统电源由XC6206P332MR芯片提供,宜用可充电锂电池。

第四章系统软件设计方案

总体上来说,系统软件包括操作系统、驱动程序及播放器应用程序3部分。

4.1软件总体设计

在此次设计中,MP3播放器的软件体系结构采用分层模式,它包括硬件层、驱动层、操作系统层及MP3播放器应用层等,软件体系结构图如下所示 4.1

从软件角度看,嵌入式Linux操作系统分为引导加载程序、内核、文件系统及用户应用程序4部分。其一用于完成初始化RAM,初始化串口、设置Linux 启动参数、调用Linux内核映像等功能;其二为特定于具体硬件的定制内核以及控制内核引导系统的参数;其三为含根目录文件的系统建立Flash存储器设备的

文件系统;其四为特定于用户的应用程序,即为播放程序。

软件的核心是Linux操作系统。首先需要设备驱动程序,包括USB、硬盘控

制、音频控制、LCD等等。然后是文件系统。该设计采用的是通用的FAT32文件系统,在对Windows平台有很好的兼容性。

硬件层包括了MP3播放器所需的物理设备:USB接口、音频接口芯片AC97、3.5英寸的TFT液晶屏等;设备驱动层包括上述各个设备的驱动程序的编写;操作系统层我们移植了Linux2 . 6的操作系统,由操作系统来统一管理各个硬件设备;最上层是应用层,我们使用QT设计图形用户界面,通过移植开源的Madplay 解码器实现对MP3文件的解码,播放、音量增减的控制。此MP3播放器软件系统包括驱动程序、操作系统及MP3播放器应用程序3部分。

4.2操作系统的实现

在嵌入式系统中,通常并没有像BIOS那样的固件程序,因此整个系统的加载启动任务就完全由BootLoade来完成。BootLoader的任务是初始化芯片和主板,通过修改相应的配置文件和驱动程序就可以实现移植过程中需要创建的开发板文件。

4.2.1嵌入式开发环境的搭建

在此次设计中,硬件平台是基于XSBASE270试验箱的。

嵌入式开发环境的搭建主要包括以下几个方面,如下:

1、虚拟机安装

安装虚拟机,采用VMware。

2、L inux系统安装

在VMware上安装REDHAT企业版linux操作系统。安装完毕之后,安装VMwareTools 工具。

3、m inicom酉己置

在启动红帽之前,要设置添加一个串口,设置成功之后,打开linux操作系统, 在终端执行minicom-s命令,会出现以下界面:

[configuration] ------------------------------------------------------- - Filenames and paths

File transfer protocols Serial port setup tloden and dialing Screen and

keyboard Saue setup as dFl Saue setup as..

Exit

Exit from Hinicon

选择serial port setup,按照以下设置:设置串口,设置波特率为115200,硬件流

控制设为无。具体如下:

选择Save setup as dfl

选择Exit即可启动minicom

4、Tftp配置

Tftp是类似于ftp的一个传输协议。

它使用IP和UDP作为子协议。在目标板上,该协议被会在Bootloader下被用来下载kerne和文件系统的镜像,传输媒质是以太网,以较高的速度。

安装tftp rpm包的步骤如下:

①安装tftp-server-0.17-9.i386软件包

在终端中输入命令:rpm -ivh tftp-server-0.17-9.i386.rpm

②修改/etc/xi netd.d/tftp文件,内容如下:

service tftp

{

socket_type = dgram

protocol= udp

wait= yes

user= root

server= /usr/sb in/in .tftpd

server_args= -s /tftpboot

server_args += -s /odm/tftpboot

disable=no

5、在根目录下建立/tftpboot文件夹,将要下载的文件放在该目录中即可。

6 bootp配置

引导协议(BOOTP)是一种基于UDP/IP的协议。这种协议允许正在启动的主机动态配置而无需用户监督。BOOTP主要用于客户机从服务器获得自己的IP

地址,服务器的IP地址以及启动映象文件名。

在一个评估板系统中,这些协议通常是和tftp 一起使用用来将内核和文件系统从PC上下载到目标板中。Bootp主要用来获得目标板和主机的ip信息,以便可以使用Tftp协议来传输文件。

①安装bootp-2.437.i386软件包

在终端中输入命令:rpm -ivh bootp-243-7.i386.rpm

②在/etc/xinetd.d/目录下建立bootp文件,文件内容如下:service bootps

{

disable=no

socket_type=dgram protocol=udp wait=yes user=root server=/usr/sb in/bootpd }

③在/etc/目录下建立bootptab文件,内容如下

test:\

ht= 1:\

ha= 0x123456789a00:\

#ha=0x123456789999:\

ip=192.168.0.50:\

sm=255.255.255.0

④重启xinitd

在终端中输入:/etc/rc.d/i nit.d/xi netd restart

7、n fs配置

8、交编译环境配置

交叉编译环境的配置总共分为四个部分:配置交叉编译环境,然后将交叉编译工具安装在/opt目录下,试交叉编译环境,测试的时候用file命令查看文件。

4.2.2 Bootloader 烧写

Boot Loader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

通常,Boot Loader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的Boot Loader几乎是不可能的。尽管如此,

我们仍然可以对Boot Loader归纳出一些通用的概念来,以指导用户特定的

Boot Loader设计与实现。

下面介绍Boot Loader的烧写过程,以Linux-2.6.22.10内核为例,我们采用的烧写工具是jflashmm。具体步骤如下:

将bootloadei 的映象文件 boot 拷贝 Jflash-XSBase270 (jflashmm 所在目录), 并利用用Jflash-XSBase270目录中jflashmm 程序,将bootloadei 映象文件boot 烧写 到开发板上。在Jflash_Xsbase27文件夹下打开一个终端,同时给板子上电,输 入命令:./Jflashmm boot ,即可完成boot 的烧写。指令为:

[root@localhost pxa270] #cd Jflash_Xsbase270 [root@localhost Jflash-XSBase270] # ./jflashmm boot

4.2.3内核、文件系统的烧写

Bootloader 烧写成功后,接下来就进行内核和文件系统的烧写,具体步骤如下: (1)开发板上电,进入下载模式 打开minicom ,已经配置好了,拔掉JTAG 下载线。 按空格键,进入下载模式

Wrto use 51 Bnurd 1 orwlcir for XSF}asc270 ho*rd (^p )T i cht (<') NW2700 杆 S ] Co.* [. I J t Sujip^rt * http : //*wu\ 51 B/'bftrd cr m

Vrrinn : 01

fl h ,h : -O vOOOOClOOO -a y e =0 \0?00 0\0ciOO £lh chip is LAX91C11I

AUtabool LT 、 ptogrciis pre ?门、key to top* HuoL delny Z seconds

按空格键,进入下载模式

Welcome to use 51Board (Joot loader I or XSBaseSTO board Copyright (C) 2002^2006 SlEhard 5 …Ltd.

Support : http ://vttWn 51 Board-com Version i 01.00.03

rtash : base^OxflOOOflOOO ,P st ze =0x02000000

Eth port can access . the base address is 0A 0C 000300 Eth chip is L\S91Cll 】

auloboot £n progress . press any key to ilop . Boot de 1 ay 2 seconds

autoboot aborted .

:=:======== Operation Menu ==============

Coman iiJL 1 ne mode

Tt current c-opifi f uration

fiootp

Download defaul t ter tic I (z I m&ge )

Flash kernel

Download defaul t Filesystem (raotfs,img ) Flash Fi lesjstem Boot system

Reboot system

Reset to factory defaul t confijuration

S CL dcfaull Kernel filename and Filosyslcm ftlcnanc Set bout delay time

He 1p (to get a 1i st of commands)

Pl ease enter your selection :

按菜单0,

51Board>set

myipaddr : 192.168.0.50

[0] :I 2 3 h 5 6 [s

9 a b

destipaddr : 192.168.0.100 myhaddr : 00:02:88:8E:CA:B1

autoboot : load kern el; load ramdisk; boot kernelname : zlmage fsn ame : rootfs.img delay : 2

按键盘上的0,进入命令行模式:[0]Comanndline mode 51board>set //查看系统状态

(0 ComanndLi 11c mode [1 Vieir current configuration 1 2] Boo I p

| 3] Lkjfliiload default Kernel {z I mage ) [4] Flash Kernel

15] Oj^nload deCault Ftlesyslem \ rooL f s *i mg) [6] Flash Filesystem

(71 Boat system

18] R E boot system

.9 Reset to factcry de fault conftguratian

(aj Set de Caul t Kernel filename and Pilesystem filename [b] Set bool delay time

.c ] Eiclpf to get a list cf cominands )

192 J68.0.50 192-168.0.100 12;34!56:78;9A :00 load kernel : load rarxJi sk : boot z [mage root Cs.img 2 将系统属性修改成以上状态

按键盘上的1,进入命令行模式:[1] View current configuration,回车。然后按2, 3, 4……等烧写成功后,可看到显示屏亮起来,显示当前的操作系统。

4.4驱动程序的实现

在嵌入式Linux 系统中操作设备的方法,是将设备看作一个文件来访问。用 户只需注意对文件的操作。在嵌入式Linux 系统中一个设备表示为主设备和从设 备。Linux 系统的设备分为字符设备、块设备和网络设备 3种。

字符设备是指存取时没有缓存的设备, 块设备的读写都有缓存来支持,并且 块设备必须能够随机存取,字符设备则没有这个要求。典型的字符设备包括鼠标、 键盘、串行口等;块设备主要包括硬盘软盘设备、 CDROM 等,这些设备要想在 操作系统下正常运行,必须配置相应的驱动程序。在本系统中, Flash 及USB 属 于块设备,AUDIO 及LCD 属于字符设备。下面是读写Flash 存储器的驱动程序 的主要代码:

mai n()

{char buf[4096],buf2[4096]; int fd1,fd2; if( ((fd 仁open(

“/dev/dsk5 ”,O_RDONLY))= = 1)||

Pl esse enter 51Board> set my ipaddr : dtslipaddr : myhaddr : auloboot : kernelnaite : f sname : delay :

51R

(fd仁open( “/dev/dsk5 ” ,O_RDONLY))= = 1)

printf( “ failure on opu” );

exit();

}

lseek(fdl, 8192L, O);

Iseek(fd2, 8192L, O);

if((read(fd1,buf, sizeof(buf1))= = -1)||(read(fdl, buf1, sizeof(buf1))= = -1)

{ “ ”

prin tf( “ failure on read ):

exit();

}

for(i=0;I < sizeof(buf1);i++)

if(buf1[i] != buf2[i])

{

Printf( “ diferent at offset%d i);

exit();

} “ ,

printf( “reads mntC^;

}

MP3解码部分芯片的驱动。音频驱动程序实现的主要功能是:

(1)系统启动时可以完成芯片的初始化;

(2)具体操作时可以提供给操作系统合适的软件接口。音频驱动初始化程序如下:

void STA013」ni t(void)

{

if(STA013_SendCommand(RESET_REQ0,0x00)) //复位STA013

STA013_Pri ntError();

if(STA013_Se ndComma nd(ACT_CON_REG0,0x00)) // 未激活状态

STA013_Pri ntError();

if(STA013_Se ndComma nd(PWR_CON_REG0,0x00)) // 上电

STA013_Pri ntError();

if(STA013_Se ndComma nd(FS_CON_REG3,

I STA013L_FsValue[Sysl nfo.Sampli ngl ndex])) //选择采样频率

STA013_Pri ntError();

if(STA013_Se ndComma nd(IF_CON_REG0,0x02+(0<<6))) 〃选择1 6位IIS数据格式

STA013_Pri ntError();

if(STA013_SendCommand(ANG_CTL_REG0,0)) // 0x13, 0x12 选择DAC和Line In输入模式]

STA013_Pri ntError();

if(STA013_SendCommand(DGT_CTL_REG0,0x00)) // DAC 静音

STA013_Pri ntError();

if(STA013_Se ndComma nd(LHP_VOL_REG,0,OxOO)) 〃左声道音量STA013_Pri ntError();

if(STA013_Se ndComma nd(RHP_VOL_REG,0,0x00)) 〃右声道音量STA013_Pri ntError();

if(STA013_Se ndComma nd(ACT_CON_REG0,0x00)) 〃数据传送激活STA013_Pri ntError();

}

4.3音频驱动电路

音频设备驱动程序主要通过对硬件的控制实现音频流的传输,同时向上层提供标准音频接口。音频接口驱动向上提供2个标准接口:数字音频处理(DSP),负责音频数据的传输即播放数字化声音文件和录音操作等;混音器(MIXER),负责对输出音频进行混音处理,如音量调节等。这2个标准接口分别对应设备文

件dev/sound/ds和dev/sound/mixer。整个音频驱动的实现分为初始化、打开设备、DSP驱动、MIXER驱动和释放设备等部分:

⑴设备初始化主要完成对UCB1400音量、采样频率、L3接口等的初始化,并且注册设备、打开设备。为设备分配DMA通道,根据采样参数计算出缓存内段的大小。当缓存区和DMA设置好后,读写操作主要对缓存操作。

⑵DSP驱动的实现:DSP驱动实现了音频数据的传输即播放和录音的数据传输。同时提供ioctl对UCB1400中的DAC何ADC采样频进行控制。

⑶MIXER驱动的实现:MIXER驱动只控制混音效果,并不执行读写操作,通过ioctl函数完成混音效果、音量的增减等功能。

4.4 Mp3播放器软件的实现

本系统使用QT/Embeded制作图形用户界面,禾用开源的Madplay解码器对Mp3文件进行软件解码,功能包括打开文件、播放和暂停、快进快退、上下曲、音量加减、显示时间进度、显示歌曲名、总的播放时间、各种状态信息等。下面就一些重要功能的实现做简要的介绍。

4.4.1外部事件的响应

当用户通过触摸屏单击某个按钮时,QT的窗口在事件发生后将激发信号如clicked。,可以通过调用connect()函数把这个信号和一个插槽(函数)连接起来,完成对事件的响应,对于其他外部的事件(如按键),可以通过read函数来读取设备的值,并根据返回值转向相应的程序。

4.4.2 MP3文件打开功能

QT中的QFileDialog类提供了允许用户选择文件或者目录的对话框。我们可以通过继承这个类,调用其中的getOpenFileName函数,实现建立打开MP3文件和选择文件的对话框:

QStri ng fileName=QFileDialog:: getOpe nFileName(".",fileFilters,this);

其中fileFilters指文件过滤器,只有符合fileFilters中设置的文件才能被读出。该函数

将返回所选择的MP3文件的文件名和路径名到fileName中。

443 MP3播放功能

通过调用开源的MADPLAY解码程序对打开的MP3文件进行解码播放。MADPLAY 程序播放歌曲的命令是:./MADPLAY file name

4.4.4上下曲功能

实现上一曲播放功能时,利用QstringList类打开MP3存放路径中的MP3歌曲列表:

Qstri ngList files=dir.e ntryList("*.mp3",QDir::Files);

该函数将返回播放列表,将当前播放的文件与列表中文件一一比较,并且计数,当比较到相同的文件后,将此时的计数值减1,就得到了下一曲的文件名,然后

将文件播放。

4.4.5音量调节功能

通过调用UCB1400的驱动程序的mixer接口的ioctl函数,可以实现音量的控制功能。

此Mp3播放器软件是用C语言编写的,其中函数micSendCommand(够实现mp3文件的播放、暂停、停止。此函数是采用不同参数取值实现不同功能的方式实现的。micSendCommand()的形式为:int micSendCommand(int style,file

*pFilename, char *env);其中:style参数取不同值时,所实现的功能不一样,

style=1 时实现播放;styel=2时实现暂停;style=3时实现停止。

下面列出实现软件播放的主要代码:

void play(file *pFile name,char env)

{ int fd,reva;

if(fd=ope n(pFile name, O_RDONLY = = 1)

{ “ _

printf( “failure on open\fne );

exit();

}

reval=micSendCommand(1, pFilename env);

附录

1日屮3丫

图一电路板的正面

图二电路板的反面

图三pcb图

te a+x-.:

!? 忙;;、

im, 林

I :

Ef

n

-

-

X

g

2

口:*

x:a

L 5 A f 『:

二;:

".,:」

〒¥1

IM fl

R 1

:丰r B t ■

M1■

r+ >

g十H 1

■Ml*

■DCT51-

14 ?

.二a it ?? * *

;:£;K £?:口

*n '■

■Y

f阮::?

X

C;

^l

h W 1JCM

Il f ft T ----------- ?u

11* t

■I ? |

■ ?■,

g

U1C亠VJ 9tfctr.

IS伽*T ■2S£:I>

M * 1

ll 1 打

? I

t4 ■

*1匚:

j1~

,<:_

:乜

音乐播放器设计实习报告

《.net技术》实习报告带智能关机和查看日历功能的音乐播放器设计班级:指导老师: 姓名:学号: 设计时间:

正文开始 设计目的: 很多人在使用播放器的时候下载的播放器软件总是比较大,一般软件较大的打开就会比较慢,运行起来也没较小的软件运行的更“流畅“。而且当我们使用播放器的时候或是只用电脑的时候我们有时会忘记关掉电脑就离开或是睡着了!虽然电脑自带的操作系统也可以设置定时关机但比较麻烦,对电脑初学者更是不知道怎么使用操作系统设置定时关机啦!还有就是我们电脑桌面下的时钟一般只显示了几点钟,并没有显示今天是多少号,所以在影月播放器中添加一个可以查看日历的功能是很必要的! 实现的功能: 在这里我就为大家设计一款小巧的音乐播放器,同时还带有智能关机功能,所谓智能关机就是你想怎么时候关机就什么时候关机,你想立刻关机就立刻关机,想定时关机就可以自己设置关机时间,设置方法非常的简单啦。同时你只需要单击一下一个“三角图标键”(在下面还将结合图示提到)就可以看到日历表了,在日历表里你也可以选择查看你需要的那个月的日历表。同时我也在播放器中添加了显示现在时钟的功能。 下面介绍一下我设计的播放器的所有功能:首先你可以通过“添加文件夹”按钮添加你选择的文件夹内的所有音频文件,你也可以通过“添加文件”按钮单个添加你所要添加的音频文件,具体方法在下面我会给出截图加以说明,保证一看就懂,就会用。添加音乐文件后你就可以在你的播放列表里看到你添加的歌曲名了。你可以通过双击列表中的歌曲名进行播放你双击的歌曲或者单击选中列表中歌曲名后再单击播放按钮进行播放。在播放时你可也看到正在播放的歌曲名和播放进度,这里的播放进度使用显示正在播放的歌曲“已经播放了多长时间”和这首歌要播放的“总时间”,还有就是上一曲、暂停、下一曲、停止,除实现播放的基本功能外,还有一个功能那就是我在上面给大家提到的“智能关机” 物体规则震动发出的声音称为“音乐”,由有组织的乐音来表达人们思想感情、反映现实生活的一种艺术就是音乐,音乐是一种符号,声音符号,表达人的所思所想,音乐能表达一个人的内心世,界音乐能是人快乐,能使人放松心情。为了方便人们能够听到美丽的音乐,音乐播放器就成为我们的音乐大师了。 设计好的播放器运行时如下图:

音乐播放器的详细设计

音乐播放器详细设计 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 需求概述

嵌入式MP3播放器的设计

嵌入式MP3播放器的设计 1 系统概述 本文采用STM32系列微控制器,结合解码芯片VS1003、SD卡、LCD等外围设备设计并实现了MP3播放器。其主要功能有:播放VS1003支持的所有音频文件,如MP3、WMA、WAV文件,且音质非常好;通过触摸屏实现按键功能,控制播放上一首/下一首、音量增减等;通过LCD显示歌曲名字和播放状态;本系统还实现了读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。 MP3播放过程是STM32通过SPI1接口将数据从SD卡中取出,然后通过SPI2接口送至解码芯VS1003解码播放。这里解码模块单独使用一个SPI接口,以减小干扰和噪声、提高音质。 2 系统硬件设计方案 本系统在硬件上分为6个模块: 微控制器STM32F103、解码模块VS1003、存储模块SD卡、触摸屏、USB接口和显示屏LCD。系统硬件框架如图5所示。 VS1003 STM32 图5 系统硬件框架图 2.1 存储模块设计 SD卡在现在的日常生活与工作中使用非常广泛,时下已经成为最为通用的数据存储卡。在诸如MP3、数码相机等设备上也都采用SD卡作为其存储设备。SD卡之所以得到如此广泛的使用,是因为它价格低廉、存储容量大、使用方便、通用性与安全性强等优点。SD卡支持两种总线方式: SD方式与SPI方式。其中SD 方式采用6线制,而SPI方式采用4线制,采用单片机对SD卡进行读写时一般都采用SPI模式。可用不同的初始化方式使SD卡工作于SD方式或SPI方式。 在本设计中,音频数据MP3文件是以SD卡为载体。所以在电路设计中必须含有读取SD卡模块。该系统使用STM32内部接口SPI1与SD卡进行通信,下面介绍其引脚连接情况。 PE3:低电平有效,连接到SD卡的片选引脚CD/DAT3。SPI在和SD卡进行通

基于51单片机的音乐播放器设计

题目:音乐播放器 课程设计(论文)任务书

摘要 随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。 单片机的英文名称为single chip microcomputer,最早出现在20世纪70年代,国际上现在已逐渐被微控制器(Microcontroller Unit 或MCU)一词所取代。它体积小,集成度高,运算速度快,运行可靠,功耗低,价格廉,因此在数据采集、智能化仪表、通讯设备等方面得到了广泛应用。而8051单片机在小到中型应用场合很常见,已成为单片机领域的实际标准。随着硬件的发展,8051单片机系列的软件工具也有了C级编译器和实时多任务操作系统RTOS,为单片机编程使用C语言提供了便利的条件;并针对单片机常用的接口芯片编制通用的驱动函数,可针对常用的功能模块,算法等编制相应的函数;C语言模块化程序结构特点,可以使程序模块大家共享,不断丰富,这样就使得单片机的的程序设计更简单可靠,实时性强,效率高。作为测控技术与仪器的学生,掌握8051单片机硬件基础及其相关软件操作,将其应用于现代电子产品中是必要而且重要的,这次课程设计我们的题目是用单片机实验箱系统制作音乐播放器。 本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显

音乐播放器的设计与实现毕业论文

音乐播放器的设计与实 现毕业论文 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

毕业设计说明书 学生姓名学号 学院计算机科学与技术学院 专业计算机科学与技术(软件工程) 题目音乐播放器的设计与实现 指导教师 (姓名)(专业技术职称/ 学位) 年月 摘要:随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2008编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。 关键字:音乐播放器,音频编码格式,TechSmith Screen Capture Codec,FFmpeg ,C#,Visual Studio 2008 Abstract:With the improvement of standards of living, entertainment has become very mainstream topics, it is required not only by music, edifying, and as more and more people tend to use music, video and other entertainment and relax, which greatly promoted the development

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

音乐播放器的设计与实现

德州学院信息管理学院 课程设计报告实习名称课程设计2 设计题目Android音乐播放器的设计与实现实习时间 专业班级12级计算机科学与技术 指导老师刘想 教学单位(盖章) 小组成员分工情况: 学号姓名分工 3018 周生明音乐播放的设计与实现1052曹法瑞 1040 张正奎 1055 李元华 2049 王山 二〇一五年六月三十日

目录 摘要 ................................................................................................................ 错误!未定义书签。 1 引言 ............................................................................................................ 错误!未定义书签。 2 可行性分析................................................................................................. 错误!未定义书签。 2.1 技术可行性...................................................................................... 错误!未定义书签。 2.2 经济可行性...................................................................................... 错误!未定义书签。 2.3 管理可行性...................................................................................... 错误!未定义书签。 2.4 可行性分析结论.............................................................................. 错误!未定义书签。 3 系统需求分析............................................................................................. 错误!未定义书签。 3.1 功能分析.......................................................................................... 错误!未定义书签。 3.2 数据流程分析.................................................................................. 错误!未定义书签。 4 系统功能设计............................................................................................. 错误!未定义书签。 4.1 播放器功能结构.............................................................................. 错误!未定义书签。 4.1.1 播放器主界面功能模块....................................................... 错误!未定义书签。 4.1.2 播放器菜单功能模块........................................................... 错误!未定义书签。 4.2 播放器功能流程.............................................................................. 错误!未定义书签。 5 系统实现..................................................................................................... 错误!未定义书签。 5.1 播放器主界面功能列表.................................................................. 错误!未定义书签。 5.2 播放器基本功能的实现.................................................................. 错误!未定义书签。 5.3 播放列表的实现.............................................................................. 错误!未定义书签。 6 软件测试与验证......................................................................................... 错误!未定义书签。 6.1 软件测试的目的.............................................................................. 错误!未定义书签。 6.2 软件测试的方法.............................................................................. 错误!未定义书签。 6.3 软件测试环境.................................................................................. 错误!未定义书签。 6.3.1 android模拟器 ...................................................................... 错误!未定义书签。 6.3.2 真机测试............................................................................... 错误!未定义书签。 6.4 软件测试流程与结果评估.............................................................. 错误!未定义书签。 6.4.1 测试流程............................................................................... 错误!未定义书签。 6.4.2 结果评估............................................................................... 错误!未定义书签。

音乐播放器的设计与实现

第一章绪论 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、通过接口与大容量外部存储设备进行数据传输,能实现网络播放与下载、触摸屏输入功能。

基于单片机音乐播放器课程设计报告书

目录 第一章绪论 (1) 第二章音乐播放器主要器件相关知识介绍 (2) 2.1 AT89C51 (2) 2.2 LCD 显示器 (4) 2.3 喇叭 (5) 2.4 键盘 (5) 第三章音乐播放器设计原理 (6) 3.1 单片机发声的基本原理 (6) 3.2 设计的相关音乐说明 (7) 3.3 音乐播放器设计功能说明 (7) 3.4 设计结构框图 (9) 3.5 主程序控制的工作流程图 (10) 3.6 播放音乐的主程序 (11) 设计心得 (15) 参考文献 (15)

第一章绪论 二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。而品质的提高,功能的更新,可靠性的增强,品种的变化无不于产品的核心控制部分水平的提高密不可分。家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭

环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。例如,就市场上的mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,还除智能化的单片机莫属。 设计指标: (1)设计一个(4×4)的键盘,并将16个键设计成16个音; (2)可弹奏想要表达的音乐; (3)该电子琴包含1首示例音乐,接通电源可播放示例音乐。 设计要求: (1)按设计指标进行电路设计; (2)列出音阶与单片机定时器输出频率关系表格; (3)制作符合设计指标的硬件电路。

基于STM32 MP3播放器设计分析

基于STM32 MP3播放器设计 学院:XXXXXXXXXXX 专业班机:XXXXXXXX 姓名XXXXX 学号:XXXXXXXX

1.1 本课题的提出及意义 MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,以及改善MP3的音质是最关键的,也是亟待解决的问题。 MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化[1]。而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。 MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、D/A转换及音频输入。存储器可以是Flash存储器或硬盘[2]。通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。 1.2 研究现状 MP3全称是MPEG Layer 3,狭义的讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式。自韩国世韩(Seahan)公司1998年推出世界上第一台MP3随身听以来, MP3播放器以其小巧的外形,不错的近乎于CD的音质,前卫的功能,越来越受到消费者的青睐,也就成为业界甚至大众媒体关注的一个热门话题[3]。在市场消费刺激下,各大公司纷纷推出了自己的mp3播放器产品,IC供应商提供了众多的MP3解码芯片及其解决方案。除了Micronas方案(MAS3507+DAC3550),还有台湾创品方案(T33510,T33520)、美国SigmaTel方案(STMP3400)和TI的DA-250解决方案。这使mp3播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔[4]。 2 硬件设计 2.1整体方案 综述

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 201220220123 班级: 1222201 专业:数字媒体技术 指导教师:张金 2015年08 月08日

目录 一、引言 (3) 1.1 项目背景 (3) 1.2 项目研究的目的 (4) 1.3 安卓简介 (4) 二.功能分析 (5) 2.1 功能需求分析 (5) 2.2 系统性能需求 (6) 2.3 运行环境需求 (6) 三.程序详细设计 (6) 3.1 主界面的设计 (6) 3.2 播放界面设计 (11) 3.3 其他功能 (14) 四.调试与运行 (18) 4.1 调试 (18) 4.2 运行结果 (19) 五.总结 (21)

一、引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。

音乐播放器的设计与实现设计共19页文档

目录 一、前言 (1) 二、系统分析 (2) (一)系统需求分析 (2) (二)系统功能需求分析 (2) (三)业务流程分析 (3) 三、系统设计 (4) (一)总体设计 (4) (二)歌曲列表模块设计 (4) (三)播放控制模块设计 (4) (四)播放器设置模块设计 (4) (五)数据库设计 (4) 四、系统实现 (6) (一)主界面 (6) (二)播放列表 (12) (三)歌词显示界面 (13) (四)皮肤更换 (15) 五、软件测试 (16) (一)软件的测试 (16) (二)功能的测试与实现 (16) (三)测试结论 (17) 六、结论 (17) 参考文献 (18)

Android音乐播放器的设计与实现 (电子信息工程系软件技术111班王永军) 摘要:本论文的音乐播放器采用了Android开源系统技术,利用Java 语言和Eclipse开发工具对播放器代码进行编写。同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,该音乐播放器集播放、暂停、停止、上一首、下一首、歌词显示等功能于一体,性能良好,在Android系统中能独立运行。实验证明,基于android平台的软件开发简单,使用方便简洁,必将成为未来几年的发展方向,具有普遍意义。 关键词:Android;Java;Eclipse;音乐播放器 一、前言 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,是的手机操作系统也出现了不同各类,现在的市场主要有三个手机操作系统,Windows mobile,苹果系统,以及谷歌的Android操作系统,其中占有开发源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频资源也在网上广为流传,这些资源卡是平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味最求外观花俏,功能庞大,对用户的手机造成很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户听歌的需求。 现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放MP3等音乐文件,并且能够控制播放器播放,暂停,停止,上一曲,下一曲。界面简单,操作简单。 本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的播放

在线音乐播放系统详细设计

<在线音乐播放系统> 详细设计说明书 作者: 完成日期: 签收人: 签收日期: 修改情况记录:

1 引言 1.1 编写目的 为软件开发人员在编码的过程中有所依据和参考。 面向人员:程序开发人员 1.2 背景 说明: a.待开发的软件系统的名称:在线音乐播放系统 b.列出本项目的任务提出者:北软老师 c.开发者:邓凯 d.用户:广大互联网用户 e.将运行该项软件的单位:web服务器 1.3 定义 OMS :Online music system,在线音乐播放系统。 1.4 参考资料 列出要用到的参考资料,如: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.在线音乐播放系统概要设计.doc; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。 列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2 程序系统的结构 本程序主要采用四层结构,如下所示: 图1 系统结构示意图

3 程序(标识符)设计说明 3.1 在线音乐网络爬虫设计说明: 资源的数量和质量将决定了系统的商业价值,为了获取更多的网络媒体资源,为系统设计了一款针对互联网上音乐资源的网络爬虫。 3.1.1爬虫的原理: 网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。 传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。 聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。 相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题: (1)对抓取目标的描述或定义; (2)对网页或数据的分析与过滤; (3)对URL的搜索策略。 3.1.2在线音乐播放系统爬虫的设计: 与通用爬虫不同,在线音乐播放系统爬虫只针对https://www.wendangku.net/doc/8310936851.html,音乐频道 https://www.wendangku.net/doc/8310936851.html,音乐频道,针对MP3格式的资源。 3.1.3爬虫的流程图:

基于Android-系统的音乐播放器设计与实现

基于Android 系统的音乐播放器设计与实现 实验报告

一、实验要求: 本课程设计的目的是开发一个可以播放主流音乐文件格式的播放器的播放功能模块,要求音乐播放器能够播放Mp 3,Wav 多种格式的音乐文件,能够控制播放,暂停,重播,停止,要求视觉外观美观,操作简单。 二,设计思想 首先查找相关书籍与文献,了解An droid 的构架并搭建An dr oid 开发平台。 查找相关资料,了解现阶段基于And roid 平台手机音乐播放器发展现状以及相关功能。 播放器基本拥有以下功能: 播放本地音乐文件 对播放的状态进行控制 播放设置,开始暂停停止 三,系统结构 ? 四、数据结构的说明和模块的算法流程图 运行 结束 暂停 开始 音乐播放器主界面 音乐播放器 设定 播放界面 开始 暂停 停止

五、使用说明书 菜单有6个功能:播放,暂停,停止,重播。 播放功能:点击后事件触发,传入歌曲名字,让程序操作该名字进行播放。 暂停功能:点击后事件触发,歌曲暂停播放。 停止功能:点击后事件触发,歌曲停止播放。 重播功能;点击后事件触发,歌曲重新播放。 六、运行结果和结果分析 作为Android平台上开发的应用软件,本设计具备与用户交互的界面,界面简洁美观易于操作。作为一款在线音乐客户端,提供给用户在线选歌的方便,提供在线播放歌曲的即时信息,如歌曲名,歌手名,时长等等。 七、我评价与总结 现如今社会生活节奏日益加快,人们在忙碌的生活中欣赏音乐是最好的舒缓压力的方式之一。随着移动设备的日益完善,我们大家都已经有了在手机上听自己喜欢歌曲的习惯,以往的做法是用数据线或者蓝牙等无线设备将PC上的歌曲复制几首到手机当中,反反复复的听,等到听厌了以后,再次装一些歌曲进去,如此反复,非常的麻烦。因此,如果在我们的手机上能实现在线听歌,这将会带来极大的方便。本项目是一款基于Android手机平台的音乐播放器,使Android 手机拥有个性的多媒体播放器,是手机显得更生动灵活化,与人们更为方便,让手机主人随时随地处于音乐的旋律之中。本设计实现的重要功能是播放Mp3格式的音乐文件,并且能够控制音乐的播放,暂停,显示歌手信息,歌曲专辑等功能。本项目还可以使人们生活更加多样化,也使设计者更加熟悉Android的技术和其它在市场上的特点。 八、附录 package com.example.seekbar; import android.app.Activity; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;

单片机课程设计报告简易音乐播放器

第一章前言 伴随着科技的发展和时代的进步,人们对生活质量的要求也越来越高,由以前简单的追求温饱和物质财富转向更高层面的精神追求!而这一切催生了智能仪器的发展,音乐则是人们娱乐生活的重要组成部分,目前市场上出现了许许多多的音乐播放器,而人们对播放器的功能需求也越来越广泛,本文将设计一个基于单片机的音乐播放器,通过对其全面的介绍与分析,让大家了解音乐播放器的原理! 第二章: 简易音乐播放器的功能和原理说明 音乐播放器,可以通过单片机板子上的数字按键对音乐播放的曲目进行控制,并且通过LED灯将播放的音乐加以区分,在播放音乐的同时点亮LED灯,让人知道现在正在播放的音乐曲目,从而实现简单的音乐播放功能! 表1 需求分析 功能说明:这次设计是依据单片机技术原理,通过硬件电路设计以及软件的编译而设计的一个简单的音乐播放器,可以通过按键选择播放四首歌曲(歌曲自选,只要将想要播放的歌曲的乐谱写入程序中即可)同时点亮相应的LED灯,并用它来指示当前播放的歌曲序列,只能实现简单的音乐播放功能。 原理说明:这个音乐播放器主要有晶振电路,复位电路,LED电路,按键电路以及扬声器组成。它利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,接着用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制扬声器发音。通常利用单片机的内部定时器0,工作在方式1下,再改变计数初值TH0和TL0来产生不同频率。当控制歌曲按键按下时,按照预先存放在单片机中的程序,就

会自动判断键值,然后启动计数器,按照程序产生一定频率的脉冲,接着通过uln2003芯片驱动扬声器,播放出乐曲。该硬件电路中用P3.0,P3.1,P3.2,P3.3控制四个按键,“0”,“1”,“2”,“3”分别控制四首音乐。P1.0,P1.1,P1.2,P1.3控制四个LED灯,它们分别对应四个按键,用来显示正在播放的歌曲,并用P2.3 来控制扬声器,电路为12MHz晶振频率工作,起振电路中C1 和C2为22pf。 第三章:系统硬件电路设计 1:硬件体系结构设计 该简易音乐播放器主要有单片机核心芯片89C52,LED发光二极管,扬声器,晶振电路,按键电路,复位电路组成,通过芯片引脚输出定时器产生的各种固定频率的方波信号,然后在经由扬声器产生各种频率的声音。另外,该方案使用的是单片机板子的内部振荡电路,89C52芯片的X1,X2引脚外接石英晶体。它的系统组成如图所示。 (1)晶振电路部分晶振的作用是给电路提供工作信号脉冲的,其实就是单片机的工作速度。本次设计选用12M晶振,则单片机的工作速度就是每秒12M。与此同时,也要注意单片机的工作频率范围。 (2)复位电路部分当系统出现问题时可以重置系统,解决一些问题 (3)LED显示部分显示系统在各种不同条件下的状态 (4)89C52芯片整个设计的核心,接收和处理信号及程序 (5)按键电路部分作为系统的输入

MP3音乐播放器软件课程设计报告(MFC)

课程设计说明书 课程设计名称:软件综合课程设计 课程设计题目:音频播放器程序的设计与实现学院名称:信息工程学院

电子信息工程专业课程设计任务书 正文: 目录 引言 (5) 一、设计程序的目的与要求 (6)

目的 (6) 要求 (6) 二、方案实现与调试 (6) 总体设计 (6) 1、实现功能 (6) 2、功能模块图 (7) 详细设计 (7) 1、界面布局 (7) 2、各模块功能设计 (8) 2.1处理“打开”按钮 (9) 2.2处理“播放”按钮 (9) 2.3处理“暂停”按钮 (9) 2.4处理“停止”按钮 (9) 2.5处理“音量”按钮 (10) 2.6处理“退出”按钮 (10) 3 操作步骤 (10) 三、课程设计分析与总结 (11) 分析 (11) 总结 (11) 附录 (13) 关键程序清单 (13)

参考文献 (20) 引言 MP3播放器的设计是利用MFC应用程序、媒体控制接口MIC 的基本知识而设计的。 1.1 MFC简介 MFC是Visual C++是核心。MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFC AppWizard 向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。这些函数,必须通过类定义对象才能使用[1]。 1.2 MCI简介 MCI(Media Control Interface)媒体控制接口是MircroSoft提供的一组多媒体设备和文件的标准接口,它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备,而不

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

相关文档
相关文档 最新文档