毕业设计论文:基于嵌入式Linux的MP3播放器的设计与实现

毕业设计论文:基于嵌入式Linux的MP3播放器的设计与实现
毕业设计论文:基于嵌入式Linux的MP3播放器的设计与实现

摘要

伴随嵌入式系统的持续发展以及普通用户对多媒体应用越来越旺盛的需求,具有多媒体播放功能设备逐渐成为嵌入式系统中必不可少的重要功能。此毕业设计将设计一个基于嵌入式Linux的MP3播放器,系统硬件采用基于ARM 架构的开发板。

论文首先介绍了嵌入式操作系统的最新发展、嵌入式Linux、ARM的特点以及Qt等的相关知识。重点介绍了如何使用开源播放器MPlayer、解码库libmad、Qt Creator工具来开发一个有图形界面的MP3播放器。还介绍了如何移植U-boot、Linux内核、Qt和文件系统,并在移植好之后烧写到开发板之上,得到一个能独立运行在开发板上的MP3播放器。

系统测试表明,该MP3播放器能实现如下功能:“播放”、“暂停”、“停止”、“音量调节”、“退出程序”和“歌曲播放时间”,系统运行稳定,基本达到了设计要求。

关键词:嵌入式Linux;移植;Linux ;Qt

Abstract

Along with the sustainable development of the embedded system and the increasingly demands for multimedia applications, an electronic equipment has a functions of playing songs gradually become indispensably.This design will introduce an implemention for a MP3 player, based on embedded Linux system and an ARM architecture development board.

This Paper introduces the latest development for embedded operating system, embedded Linux, the characteristics of the ARM, Qt and other related knowledges.Especially,this paper displays how to use the open source player MPlayer, a decoding library called libmad, Qt Creator tools to develop a graphical interface of an MP3 player.In this paper, the work of transplant the boot, the Linux kernel, Qt, and file systems is also introduced. After all system images are burned into the development board, one development board can run a MP3 player is obtained.

System test shows that this MP3 player can realize the following function: "Play", "Pause" ,"Stop", "Volume Control", "Exit" and "Show Songs Playing State".The whloe system runs stably, and reached the basic design requirement.

Keywords:embeded Linux;transplant;Linux;Qt

目录

第一章绪论 (1)

1.1 课题研究背景和意义 (1)

1.2 嵌入式系统发展和现状 (2)

1.2.1 嵌入式操作系统 (2)

1.2.2 嵌入式Linux和Linux (3)

1.2.3 ARM的介绍 (3)

1.2.4 Qt的介绍 (4)

1.3 论文所做的工作和结构 (5)

1.3.1 论文所做的工作 (5)

1.3.2 论文结构 (6)

第二章系统总体方案设计 (7)

2.1 系统框架概述 (7)

2.2 开发板硬件介绍 (7)

2.2.1 主要硬件及其参数 (8)

2.2.2 接口资源 (8)

2.2.3 NAND和NOR Flash的相关介绍: (9)

2.2.4 S3C2440的启动方式说明 (10)

2.3 用于本设计MP3播放器的硬件架构 (10)

第三章嵌入式Linux的开发流程 (12)

3.1 开发环境的搭建概述 (12)

3.1.1 硬件平台 (12)

3.1.2 软件平台 (12)

3.2 安装软件平台和搭建开发环境的步骤 (12)

3.2.1 虚拟化平台的介绍与安装 (13)

3.2.2 RedHat介绍及其在VMware中的安装 (14)

3.2.3 安装VMware Tools (16)

3.2.4 安装交叉编译器 (17)

3.3 Bootloader和U-boot的介绍 (18)

3.3.1 烧写U-boot (19)

3.3.2 向NAND Flash烧写U-boot (21)

3.4 使用FTP下载工具 (23)

第四章系统详细设计 (24)

4.1 关于移植的原理和介绍 (24)

4.2 U-boot、内核和文件系统的移植。 (24)

4.3 开源播放软件MPlayer的安装和移植 (25)

4.3.1 在X86平台上安装MPlayer (25)

4.3.2 向ARM平台移植MPlayer (26)

4.4 设计基于Qt/E的播放器图形 (30)

4.4.1 Qt的实现原理和优势 (30)

4.4.2利用Qt Creator 开发应用程序流程 (32)

4.4.3 程序模块间关系图 (33)

4.4.4 程序的编写和实现 (33)

4.4.5 关键代码分析 (35)

4.4.5 编译和运行 (41)

第五章系统调试和解决 (43)

5.1 系统调试及运行 (43)

5.2 本次毕业设计中遇到的问题和解决 (44)

第六章总结与展望 (46)

参考文献 (47)

致谢 ............................................ 错误!未定义书签。附录 A 源代码 (48)

附录A.1 main.cpp (48)

附录A.2 mplayer.h (48)

附录A.3 mplayer.cpp (49)

第一章绪论

1.1 课题研究背景和意义

随着社会的日益信息化,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人来说,需要的已经不再仅仅是那种放在桌上处理文档、进行工作管理和生产控制的计算机机器。任何一个普通人都可能拥有各种使用嵌入式技术的电子产品。如今,各种新式嵌入式设备从数量来说已经完胜常规计算机了。尤其在工业中,几十年来,具有嵌入式技术的数控机床、工业智能机器人、智能设备、服务型机器人一直都对传统的工业生产方式不断改善和提高着。

Moving Picture Experts Group Audio Layer III(MPEG-1 Audio Layer 3,动态影像专家压缩标准音频层面3),经常称为MP3,是当今相当流行的一种数字音频编码和有损压缩格式,它被设计来大幅降低音频数据量,而对于大多数用户的人体自身听觉感受来说,重放的音质与最初的不压缩音频相比并没有极其明显的下降。

MP3播放器是嵌入式系统的主要应用之一,高端的MP3已经不仅仅着眼于音乐播放这一功能,而是同时具备了图片浏览、文本阅读、甚至视频播放等强大功能。本文重点讨论基于S3C2440芯片的MP3播放器的实现,还包括开发环境建立、内核裁剪与编译、Qt开发等一系列过程。

像以前需要两块甚至多块芯片才能处理的数据,现在基本上可以通过单块ARM芯片完成,不仅仅降低系统成本,同时也简化了系统的设计过程。而且嵌入式Linux操作系统的出现,使得应用软件的开发也变得相对简单,此外Linux天生的多平台兼容性,使其移植到ARM平台相对简单,再加上其可裁剪的优点,使得嵌入式Linux成为当前嵌入式开发的主流系统。

所以课题选择基于嵌入式Linux的MP3播放器的设计与实现,具有一定的现实意义。同时,毕业设计也是将大学所学知识的一次综合运用,也会使得在文献检索、查阅资料、科学研究素养和文档写作等方面的能力得到进一步提高。

1

1.2 嵌入式系统发展和现状

1.2.1 嵌入式操作系统

英国电机工程师协会BIEE(Britain Institute of Eletrical Engineers)对嵌入式系统的定义是:嵌入式系统为控制、监视或辅助设备、机器甚至工厂运作的装置[1]。

从20世纪80年代开始,在嵌入式系统出现了“操作系统”概念,这使得开发人员可以进一步缩短开发周期,降低开发成本并提高开发效率。例如著名的VxWorks,该系统如今被华为、H3C、中兴等众多网络设备和通信设备厂商所采用。而思科采用了基于UNIX开发而来的“网际互联操作系统”(Internet Operation System ,缩写为IOS);另一家网络设备厂商Juniper所使用的JunOS系统直接运行于Free BSD内核之上,和内核联系紧密。

20世纪90年代之后,随着对实时性要求的提高、软件规模不断增加,逐渐发展出实时多任务操作系统,并作为一种软件平台逐步成为目前嵌入式操作系统的主流。许多大公司看到了嵌入式系统的无限美好的发展前景,开始大力发展自己的嵌入式操作系统如Palm OS、Palm WebOS、Windows CE、嵌入式Linux、Symbian、Black Berry OS、μC/OS-II、eCOS、uITRON等嵌入式操作系统。[2] 21世纪第一个十年的后半叶,出现了三大系统:2007年,苹果公司发布了改变人们生活的iPhone和iOS操作系统;随后,2008年,谷歌发布了Andriod 操作系统;微软于2010年发布Windows Phone 7系统、2012年发布了Windows Phone 8 系统。这几年里,基于这三大智能系统的智能手机、平板电脑的数量爆发式增长,提高了人们的工作效率和生活舒适度。尤其是平板电脑,使人们对嵌入式设备和电脑界限的划分逐渐模糊。

除了上面的这些操作系统之外,三星、Ubuntu甚至是Firefox等公司都发布了自己的操作系统和手机。三星、Ubuntu等许多公司的系统都是是基于Linux开发而来的,仅有少数是个例外如FirefoxOS,该系统是基于HTML5的,毕竟火狐本身就是一个浏览器厂商。在这场操作系统之争中,如Palm OS、WebOS 、Windows CE、Meego等系统已经淡出了历史的舞台,而Symbian、Black Berry OS则在垂死挣扎。嵌入式Linux和Andriod是开源的系统。开发基于

2

Andriod的系统时,需要向其他厂商如微软、诺基亚、三星等公司缴纳专利授权费用,而基于嵌入式Linux开发的系统就没有这个问题,适合小型厂商和个人的商业开发。

1.2.2 嵌入式Linux和Linux

嵌入式系统和通用计算机系统相比具有如下特点:可裁剪性好、系统内核小、功耗低、可靠性高、实时性好等。嵌入式Linux和Linux应用程序开发没有太大区别,但是,嵌入式Linux系统的开发过程中同纯粹基于Linux环境下的开发流程有着一个本质的不同之处:前者需要在宿主机器上交叉编译、交叉调试,而在目标机上运行被调试程序;而后者都是在通用计算机上进行本机编辑,本机编译、连接、调试、运行的。

UNIX,作为现代操作系统的祖先,从贝尔实验室流传出来。而在UNIX的发展过程中,产生的C语言,是贝尔实验室对科技发展的又一重大贡献。贝尔实验室的母公司——美国电话和电报公司(AT&T),见有利可图,就禁止免费使用UNIX并推出了收费版本UNIX System V 。之后UNIX分化成了许多不同分支和发行版本,最著名就是Free BSD UNIX。

GNU,即GNU’s Not UNIX 。该组织建立与1983年,其目标是创建一套完全免费的、自由的UNIX-like系统。该组织编写出了一个完整操作系统的大部分内容,如编译器、系统管理工具、网络工具、Office套件、多媒体和绘图软件,除了内核。Linux由Linus Trovalds于1991年发明,是1990年后出现的新学派Unix阵营(也包括FreeBSD、NetBSD、OpenBSD和Darwin)的领头羊,代表了整个阵营的设计方向[3]。一个叫Linus的大二学生写出了一个内核,被GNU看中,然后就有了今天的Linux。Linux,最大的特色是开源和免费,遵循着GPL开发者们可以根据自身需要灵活的进行定制化开发,因此也产生了相当多的Linux的发行版本。

1.2.3 ARM的介绍

嵌入式处理器与常见的基X86架构处理器的PC相比,最大的优势是低功耗。此外,嵌入式操作系统是实时操作系统,着眼于调度所有可以使用的资源

3

来完成实时控制任务,而桌面操作系统如UNIX、Linux和Windows都是分时操作系统。

按照处理器内核的体系结构,可以将嵌入式处理器分为:MIPS处理器、ARM处理器、PowerPC处理器、ColdFire/68K处理器等。

智能手机和平板电脑的流行,让“ARM”这一词语频繁出现在人们的视野中,普通人都常常能到报纸、电视上见到这个词。什么事“ARM”?ARM是Advanced RISC Machines (高级精简指令集处理机)的缩写,表示一种知识产权核。同时“ARM”也是一家公司的名称,ARM这家公司于1991年成立于英国剑桥,该公司的特点是只设计基于ARM架构的处理器内核,再将该产品及相关专利授权给其他半导体厂商、软件厂商和OEM厂商公司使用或生产,包括Intel、Apple、微软、三星、高通、索尼等[4],ARM公司本身没有任何工厂。

英特尔当前是全球PC处理器的主导者,市场份额超过了80%。但2012年全球PC市场在过去的10年间首次出现下滑,而ARM的份额逐年稳步增长。ARM 公司与2012年十月发布的Cortex-A50核心,面向服务器领域,此番旨在同Intel争夺其基于X86体系的服务器市场。几乎在同时,AMD宣布基于此核心来开发64位ARM架构的处理器,这使得AMD 成为业界中不仅唯一一家具有独立制造CPU和GPU能力的厂商,而且将是唯一一家能提供基于X86和ARM架构的处理器芯片的厂商。微软于2012年10月发布基于ARM架构CPU 的 Surface Windows RT,同时也意味着视窗操作系统从Windows8开始可以在ARM平台上运行了。

ARM处理器分为如下几个系列:ARM7、ARM9、ARM9E、ARM10E、ARM11、Cortex-A8、Cortex-A9、Cortex-A15等。

本毕业设计基于三星S3C2440的XC2400开发板,其微处理器为基于ARM9 内核的ARM 920T。

1.2.4 Qt的介绍

Qt是挪威TrollTech公司开发的跨平台C++图形用户界面研发工具。2008年该公司被Nokia收购。2009年Nokia公开了Qt的源代码。2012年,Nokia

4

将Qt售予芬兰软件公司Digia,而Qt仍将保持开源。Digia计划将Qt推广到Andriod、iOS和Windows 8平台。

Qt的一个显著特点是跨平台特性。通过对不同平台的私有API,如文字处理、网络协议、进程处理、线程、数据库访问等进行封装。Qt可以在多个平台(Unix、Linux、Windows、Mac等)上运行,从某种意义上讲,Qt类似于Microsof的MFC或Borland的VCL,都是C++的一个函数库。不同的是它封装不同操作系统的访问细节,而且能实现跨平台应用[5]。

QT的版本比较多,对于初学者容易搞混。现分别介绍:

(1)Qt/X11:是指用专门于Linux或者Unix的版本。如:qt-x11-opensource-src-4.6.3.tar.gz,它是用于PC机linux平台的Qt源码包。Linux操作系统中的常见的KDE桌面就是用Qt/X11开发的;

(2)Qt Windows:是指用于Windows的Qt版本;

(3)Qt-everywhere:在配置时加上不同参数的话,选择性地编译用于X86,或者用于ARM平台,如qt-everywhere-opensource-src-4.6.3.tar.gz;

(4)Qt/Embedded:即Qt/E。其是专门用于ARM平台的Qt版本。如qt-embedded-linux-opensource-src-4.6.3.tar.gz,它是用于嵌入式ARM的qt源码包。

本次毕业设计将在X86平台上安装面向Qt/X11的Qt,软件版本为qt-SDK-linux-x86-opensource-2010.04。安装在/opt目录下,在桌面会生出Qt Creator快捷方式,打开后进行一些参数的设置之后即可进行程序的开发,例如指定qmake的路径。

1.3 论文所做的工作和结构

1.3.1 论文所做的工作

本毕业设计在Red Hat Enterprise Linux中安装Qt Creator开发工具,实现在嵌入式Linux下的MP3播放器。能通过图形界面控制播放和暂停、快进快退、上下曲、音量增减、显示歌曲状态信息等功能。

本课题的主要研究内容包括:

(1)了解一个嵌入式Linux系统的开发流程;

5

(2)开发平台的搭建:包括交叉编译环境的建立、环境变量的配置等;

(3)掌握Linux内核的移植、开源MP3音乐播放器的移植、用Qt开发的程

序及其移植;

(1)了解Bootloader的功能和作用;

(2)掌握嵌入式Linux的程序开发,以及编译、调试方法和步骤。

需要解决的关键性问题:

(1)熟悉嵌入式Linux和其开发流程中涉及的的裁剪和移植;

(2)开源播放器MPlayer的移植和播放测试;

(3)用Qt实现对播放器的图形界面的开发,并实现相应的功能。

1.3.2 论文结构

本论文共分六章:

论文的第一章,是绪论部分。主要是对课题的研究目的及意义,课题现状以及作者所做的工作进行简略的介绍;对嵌入式操作系统进行梳理和介绍和以比较;介绍ARM体系的基本发展和特性;对Qt进行基本的介绍。

第二章主要介绍了本系统的硬件平台。首先是对系统的整体架构进行了介绍;对系统的硬件电路和功能模块进行了介绍。

第三章主要是搭建嵌入式开发平台。介绍RedHat、VMware Station及其相关的使用和技巧。

第四章主要是详细MPlayer的编译和移植工作,以及Qt程序的开发和移植工作。

第五章主要是实验结果和毕业设计过程中遇到的一些问题。

第六章是总结与展望,回顾了本次毕业设计及其中的不足之处。

6

第二章系统总体方案设计

2.1 系统框架概述

根据嵌入式MP3媒体播放器系统的需求分析,本文选择了基于ARM 9内核的处理器的开发板作为本系统的实现的平台,下文将对其中硬件设备做介绍。软件平台选择嵌入式Linux操作系统。毕业设计中的开发平台是Red Hat Enterprise Linux 6.3操作系统,其是安装在VMware Station 9.0虚拟化平台中的,可以方便的与Windows操作系统进行数据共享和传输。为了搭建整个开发环境,还需要交叉建立交叉编译环境。播放器系统的整体结构由下到上为:应用层(Qt 、MPlayer)、操作系统层(Linux)、驱动层(音频驱动、液晶屏幕驱动等)和物理层(ARM芯片以及外围电路)。

2.2 开发板硬件介绍

本次毕业设计使用XC2440开发板,如图2.1所示:包括 S3C2440处理器、NAND Flash、NOR Flash、SDRAM、串口、下载接口、音频解码芯片和接口、LCD 和触摸屏接口、时钟电路、复位电路等。

7

图2.1 XC2440开发板

2.2.1 主要硬件及其参数

●CPU:主频为400MHz的三星S3C2440A

●内存:64M Bytes SDRAM

●闪存: 256M Bytes Nandflash + 2M Bytes Norflash

●板载复位电路

●板载电源管理芯片

●内部 RTC(Real-Time Clock,实时时钟)功能

●180Pin 管脚以 1.27mm 间距排针形式引出

●4.3 寸TFT LCD ,带触摸屏,分辨率480×272

2.2.2 接口资源

●1个100M 以太网接口

8

●1个RS232 电平串口

●2个TTL 电平串口

●1个USB HOST 接口

●1个USB DEVICE 接口

●1个LCD 接口

●1个Camera 接口

●1个microSD/TF 卡接口

●2个音频接口,uda1341音频芯片,使用IIS和L3总线,一路立体

声输入,一路立体声输出

●1个温度传感器

●1个红外接收管

●2个电位器

●4个用户LED

●4个用户按键

●1个蜂鸣器

●1个JTAG 接口

●1个mircoSD/TF 卡接口

●板载EEPROM

●板载RTC供电电池

2.2.3 NAND和NOR Flash的相关介绍:

“NAND”这个名称表示其是由“与非”逻辑门电路构成,而“NOR”则表明其内部有“或非”逻辑门电路构成。从对数据传输速率来看,NAND要比NOR 快很多,因为NAND是按页操作的而NOR是按字节操作的。NOR 是和SRAM一样的可随机存储的,也不需要驱动,因此,其受限于地址线,地址就是有限的,所以容量普遍较小;NOR的优点则表现在读取速度快,而且程序可以直接在芯片内部运行,不需要再读入SDRAM中了。再从价格上来看,NOR的价格更高。从实际应用来看,NOR较多的用在工业领域,特别是用于程序存储等少量数据存储的需求;NAND较多使用再在消费领域中,适合大量数据存储。

9

10

U-boot 程序不支持从Nand flash 启动,但是S3C2440支持从Nand flash 启动。开发板加电后S3C2440将Nand flash 的前4k(保存有U-boot 的部分功能)中的内容拷贝到SDRAM 。这就需要修改U-boot 源码,使得U-boot 在得到执行权后能够将其自身拷贝到开发板上SDRAM 中,以便处理器能够执行U-boot 。幸好这些工作已经由开发板厂商完成了,不需要用户自行开发。

2.2.4 S3C2440的启动方式说明

如果把S3C2440配置成从NAND Flash 启动(开发板启动开关拔至NAND 端)S3C2440的NAND 控制器会自动把NAND flash 中的前4K 代码数据复制至内部SRAM 中(地址为0x40000000),同时还把这块SDRAM 的地址映射为0x00000000(CPU 总是从0x00000000地址开始运行程序)。

如果将S3C2440配置成从NOR Flash 启动(开发板启动开关拔至NOR 端),0x00000000就是NOR Flash 实际的起始地址,Norflash 中的程序就从这里开始运行,不会涉及到数据拷贝和地址映射。

2.3 用于本设计MP3播放器的硬件架构

该MP3播放器系统总体框图如图 2.2 所示:包括基于ARM 价格的三星 S3C2440处理器,NAND 、SDRAM 存储器、音频处理模块、LCD 和触摸屏接口、复位按键、J-link 接口等。

图2.2 MP3播放器硬件框图

S3C2440 (ARM9) 液晶触摸屏 RJ-45

以太网接口 音频处理模块

NAND FLASH NOR FLASH

SDRAM

本方案的说明:采用基于ARM S3C2440的开发板。XC2440开发板采用ARM9系列芯片S3C2440作为核心芯片,搭配4.3英寸液晶触摸屏,以及自带音频解码芯片UDA1341,完全胜任MP3文件的解码工作。NOR Flash用来存放着引导程序U-boot;NAND中除了放着U-boot还有系统内核及文件系统,以及歌曲文件;SDRAM用于存放着系统的运行中产生的数据;液晶触摸屏可以让用户进行操作,播放视频时还可以看到视频;

系统采用嵌入式Linux系统,Linux操作系统具有很多优点,如内核可裁剪、高度的可移植性等,支持几乎所有的主流芯片,并且还在不断地被移植至新的芯片上。此外采用开源Linux系统,不需要像其它一些系统那样需要缴纳专利授权费用。

11

第三章嵌入式Linux的开发流程

3.1 开发环境的搭建概述

3.1.1 硬件平台

ARM开发板,主机,局域网。

3.1.2 软件平台

(1)操作系统

本次毕业设计使用虚拟化平台VMware Station,并在其中建立虚拟机,进而在该虚拟机之中安装Red Hat Enterprise Linux系统。

(2)交叉编译环境

交叉编译是指:在PC机上编译,在目标板上直接可以执行,不需要重新在目标平台上面进行编译了。交叉编译环境主要包括:目标板操作系统、目标板CPU体系架构、编译器等。

目标板操作系统:经过裁剪的Linux系统。

目标板使用的CPU:基于ARM9架构的ARM920t内核。

编译器:gcc,arm-linux-gcc、makefile工具、库函数等。

3. 主机和开发板之间的通信接口

串口:用串口控制板子。可用DNW软件设置好要控制的串口、波特率。使用串口线也可以传输文件至开发板,但是速率较慢。

USB下载线:可以使用DNW软件下载U-boot、系统内核、文件系统镜像文件到开发板,传输速率较快。

RJ-45以太网接口:设置好开发板、PC网卡的IP地址后,可以用NFS挂载的方式来共享主机需要下载到开发板上编译好的代码,也可以使用FTP、TFTP工具来传输文件,这样速率非常快,并且很方便使用。在配置好网络后,就可以用Telnet客户端控制开发板,这样就可以免去频繁的切换目录了。3.2 安装软件平台和搭建开发环境的步骤

12

3.2.1 虚拟化平台的介绍与安装

毕业设计中的开发平台是Linux操作系统,其是安装在VMware Station 9.0这个虚拟化平台中的,可以方便的与Windows操作系统进行数据共享和传输。目前,Windows操作系统中的很多常用软件并不支持在Linux平台上运行,如果直接安装Linux,那么在纯粹的Linux环境中,将会有很多不便。

VMware Workstation 是一款功能强大的提供桌面虚拟化功能的软件,使用户可在单一的桌面上同时运行多个操作系统,是进行开发测试部署新的应用、服务、程序等的最佳解决方案。可在一台真实机器上模拟完整的网络环境,其更佳的灵活性与先进的虚拟化技术胜过了市面上其它厂商的的虚拟化软平台。利用该软件,可以建立许多虚拟机。可以认为虚拟机是运行在同主机操作系统平行的底层硬件环境中的。

快照功能介绍和使用:VMware快照功能是虚拟机磁盘文件(VMDK)在某个时间点的复本。万一某些东西出错了,你可以通过使用恢复到快照来保持磁盘文件系统和系统存储。如果你创建了多于一个的虚拟机快照,那么,你将有多个还原点可以用于恢复。

简单说来,其实VMware快照就是将当前VMware虚拟环境里的系统所有环境做个备份(即照个相),让我们虚拟机里的系统出问题之后可以马上恢复。这个功能就有点类似于我们系统备份功能!但是VMware的快照比系统备份功能更强一些,如硬件及一些设置都可以保存下来。

在开发环境中,使用的是root账号,常常进行一些比较危险的操作,为了避免误操作而是得系统受损坏,或者要撤销之前所做的重大更改等。比如为了安装不同版本的多个交叉编译器,就可以使用该功能。在本次毕业设计中,就使用了几次快照进行还原。建立的快照如图3.1所示。

13

图3.1 本次毕业设计中建立的快照

3.2.2 RedHat介绍及其在VMware中的安装

Linux是一类Unix计算机操作系统的统称。Linux操作系统内核的名字也是“Linux”。Linux操作系统同时也是自由软件运动中和开放源代码社区发展中最著名的例子。严格地来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 项目中的各种工具和数据库的操作系统。

Red Hat公司创建于1993年,是世界上最资深的Linux和开放源代码提供商,同时由Red Hat 公司发行的Red Hat Linux系统也是最获得市场认可的Linux发行版本。Red Hat Linux是商业上运作最成功的一个Linux发行套件,普及程度很高。Red Hat Linux自9.0之后不再发布个人用户版,从此专注于企业级用户:2004年4月30日,Red Hat公司正式停止对Red Hat Linux 9.0版本的支持,标志着Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行包则与来自民间的Fedora开源社区合并,成为Fedora Core发行版本。Red Hat公司不再开发桌面版的Linux发行包,而将全部力量集中在企业版的开发上,也就是Red Hat Enterprise Linux(如图3.2所示)版本,但仍然公开源码。

14

图3.2 RedHat Enterprise Linux 6 安装界面截图 2005年10月Red Hat Enterprise Linux 4.0发布。Fedora是Redhat 桌面版本的延续,其是与开源社区合作的。另一个Linux 发行版本CentOS,也是CentOS社区完全使用Red Hat原代码创新编译,仅仅更改LOGO等极少部分。2007年3月,Red Hat Enterprise Linux 5.0发布。2011年11月10日RedHat Enterprise Linux 6.0正式版发布。目前最新版本已经到6.4版本。本次毕业设计使用RedHat Enterprise Linux 6.3版本。

注意点:在安装时需要选择“桌面”,这样开机就有GUI界面了,方便使用。如图3.3 所示。RedHat Enterprise Linux的详细的安装过程就不在赘述了。

图3.3 选择“桌面”选项

15

Red Hat Enterprise Linux系统有一个优点,就是方便安装软件:将安装光盘或者镜像文件挂载为本地的“软件源”,这样就以直接搜索一些常用的软件包,搜索到之后可以直接安装,不需要再进行下载了。如果这些包需要再安装一些存在依赖关系的软件,就自动安装了。这是比Ubuntu等Linux发行版本的一个优势,至少可以节约开发人员的时间。本次毕业设中,有几次都在编译时报错,并提示缺少如ncurses libraries、autoconf、g++等软件,使用这个方法可以快速安装这些软件。注意,必须要将操作系统光盘镜像文件改名为“Red Hat Enterprise Linux 6.3”挂载为“软件源”,这样才能成功。

3.2.3 安装VMware Tools

点击“VM”-“Install VMware Tools”,会自动下载Vmware Tools 软件(当然前提是正确配置虚拟机的网络,在此就不进行详细的介绍了),作者使用的版本是VMwareTools-9.2.3-1031360.tar.gz

VMware Tools是VMware虚拟机中自带的一种增强工具,是VMware提供的增强虚拟显卡和硬盘性能、以及同步虚拟机与主机时钟的驱动程序。只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖拽的功能,鼠标也可在虚拟机与主机之前自由移动(不用再按Ctrl+Alt),且虚拟机屏幕也可实现全屏化。有时需要将Windows下面的文件和Linux共享起来,这样就可以方便的在Linux下面编译运行代码,然后把编译后的数据通过Windows下的工具传到开发板里面。依次点击VMware Setting - Option - Shared Folders,选择“Always Enabled”,并添加准备共享给虚拟机的文件夹。共享文件后,就可以在RedHat的 /mnt/hgfs/目录下看到共享的文件。

下面讲述如何详细装VMware Tools的过程:

(1)点击菜单“VM”选项卡,选择Install vmware tools

这个时候会出来一个可以安装的.gz格式的压缩文件包

(2)cd /media/VMware\ Tools/

就会看见这个压缩包

16

音乐播放器的详细设计

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

音乐播放器毕业设计

摘要 在信息,技术高速发展的今天,多媒体技术也越来越受到人们的重视。文章对目前使用较多的音乐播放器作出较详细的比较。通过阅读多张文献,分析了一些音乐播放器的功能并考虑了怎样能实现支持更多格式的音乐文件,怎样能满足使用者对播放器的需求。本文主要介绍了一个基于Java Applet来实现的音乐播放器的设计。并对系统开发中涉及到的关键技术作了探讨,简要分析介绍了Java技术和 Applet的工作原理,最后说明系统需要实现的功能。 音乐是一种声音符号,表达人的思想感情。是人们思想的载体之一。音乐是有目的和内涵的,其中隐含了作者的生活体验,思想情怀。一款好的pc音乐播放器不仅能够提供好的音乐播放效果,更能够为用户提供方便的操作。 本设计利用java语言和eclipse 编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、快进、快退、下一曲、上一曲、音量调节等功能与一体,性能良好。该播放器支持MP3、WAV、MP3和AIFF等音频格式。在开发的过程中采用瀑布模型。第一阶段首先对项目进行全面、仔细的需求分析,并准确做出项目进度安排,明确每个阶段的任务;第二阶段是进行项目分模块编码;第三阶段对项目进行全面的测试和系统集成测试。 关键词: JAVA;Eclipse;模块化; Applet;

Abstract In the information,the rapid development of technology today,the multimedia technology is becoming more and more attention.This paper makes comparison of the detail to the current use of more music player.By reading a plurality ofliterature,analysis of some function of music player and consider how to achieve the support more format music files,how to meet the needs of users of the player.This paper mainly introduces the design of a Java based Applet to achieve music player.And the key technologies involved in the system development are discussed and analyzed brieflyintroduces the work principle of Java technology and Applet,finally indicated that the system needs to realize the function. The music is a sound symbolic expressing the mood and thinking. It is the carrier of people's thinking. Music is the purpose and content, which implied the au thor's life experiences and feelings. A good pc music player can not only provide g ood music playing effect, but also provide users with convenient operation. The player is using java language and eclipse editing tools. Giving a detailed s ystem design process, part of the interface map and run flow chart of the main fun ction, this article discussed in detail on problems and solution method in the devel opment process. The music player set to play, pause, stop, fast forward, rewind, a nd the next one, on a volume adjustment functions with one good performance. Th e player supports MP3, WAV, MP3, AIFF, etc. audio formats. The model in the dev elopment process is Waterfall model. The first phase is the project of comprehensi ve and careful needs analysis, accurately making the project schedule and clearin g each stage of the task. The second phase of the project is sub-module coding. T he third stage, the project testing and system integration testing. key words:JAVA ;Eclipse;Modularization; Applet;

iOS 音乐播放器 毕业设计

1引言 1.1选题背景 随着智能手机的大众化,越来越多的人应用智能手机。相对的对手机软件的需求也就越来越多。当今时代手机不再只是用来打电话、发短信的工具,反而对手机的娱乐功能要求越来越高[1]。手机的一个重要的功能就是听音乐,一款好的手机音乐播放器可以更好的体现智能手机的强大。目前中国音乐播放器行业已经具备了相当的规模,并在国际市场上已有一定的竞争力。苹果手机作为当今中国智能手机市场上不可或缺的一个品牌,基于iOS的手机软件需求量也就相应的越来越强。市场上的音乐播放器品牌繁多,定位不一,基本满足了各层次消费者的需求,例如:酷我音乐、酷狗音乐、百度音乐、QQ音乐等等这些大家所熟知的音乐播放器已经在苹果软件中占据了一定的地位。智能手机的应用使现代人的生活更加的方便。 伴随着苹果手机进入中国市场,相应的iOS技术逐渐流行起来。而对于开发苹果应用的语言——Object-C,也成为当今社会最流行的开发语言,并且保持着强劲的上升趋势,隐隐有超过C语言的现象[2]。对于其他的开发语言,例如java、javascripe,Object-C以其强大的优势遥遥领先于这些其他的编程语言。本人根据当前的形式,决定引用这种这种技术来开发手机应用。 1.2设计目的及意义 听音乐已经成为当今社会,人们必不可少的一项娱乐活动。根据调查所得信息,本人发现最近智能手机用户对较大的音乐播放器应用的喜爱度明显下滑,而相对的那些小巧的音乐播放器反而被越来越多的用户下载使用。苹果系统的软件具有的特点就是美观、简洁、易操作。根据这些信息,设计一款小巧的基于iOS 的音乐播放器会很容易得到用户的青睐。同时本人从去年开始接触iOS,在学习了几个月后,对iOS开发有了一些理解,所以对于这次毕业设计,我就选择了基于iOS系统开发一款产品。希望通过这次毕业设计来进一步巩固自己的iOS开发水平。使自己在以后的社会竞争中更加具有优势。 1.3设计思想和目标 设计思想:自己的这款音乐播放器设计的过程是按照一般的应用开发流程进行的。自己首先调查了当今社会,人们对音乐播放器的需求,从中得出现阶段手机用户需要的是小巧、方便的音乐播放器。从而决定自己开发一款小巧的音乐播放器。在有了用户的需求后,本人开始开发属于自己的音乐播放器。在真正设计音乐播放器的过程中,本人先决定了音乐播放器的整体框架结构,应用的图片出

音乐播放器的设计与实现

德州学院信息管理学院 课程设计报告实习名称课程设计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 结果评估............................................................................... 错误!未定义书签。

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

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

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

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 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格式的视频文件。此外,还能支持中文、英文等语言界面。

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

音乐播放器的设计与实 现毕业论文 集团文件发布号:(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

(完整版)基于单片机的MP3播放器设计毕业设计论文

基于单片机的MP3播放器设计 音频信号数字化后所面临的一个不容忽视的问题是:巨大的数据量给存储和传输带来的压力。因此音频压缩技术在广播专业领域、网络传输及多媒体应用中受到广泛关注,成为音频信号处理的关键技术之一。MPEG(Moving Picture Experts Group)运动图像专家组,在1992年底制定了第一个世界范围的Hi-Fi(High-Fidelity)质量的音频编码标准MPEG-1。MPEG-1分为三种不同的方式,称为Layer1、Layer2和Layer3。序号越高,复杂性越大,但是可提供更好的编码效率,特别是在低比特率时。MP3就是MPEG-1 Layer3,是基于感知编码的算法,目前在CD 音质的声音压缩方面,是一种通用的方法。使用MP3标准对于音频数据编码既可以获得较大的音频数据压缩比,又可以得到较好的音乐回放质量。MP3的解码器结构复杂,涉及到大量的数学计算,对处理器与内存的要求相当高。目前,AT89C51处理器以其高性价比,丰富的外设资源,越来越受到各种嵌入式研发人员的青睐[5-7]。基于以上背景,我在此次设计中提出了AT89C51SND1C微处理器的软件解码方案,在降低硬件成本的基础上保证高质量的播放效果。 1.2.2 课题研究的意义 MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,以及改本课题来源于生产实践

善MP3的音质是最关键的,也是亟待解决的问题。 MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化。而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。 另外一个原因是近年来,嵌入式系统与单片机开发的有机结合,已广泛被应用于网络通信、工业控制、机顶盒、PDA等诸多领域[8]。本文提出了一种基于单片机的MP3播放器的设计方案,这就进一步的体现了该设计的灵活性。目前该设计方案已经实现,实践证明,此播放器拥有市面MP3所有的全部功能并能够很好的运行。 MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、DA转换及音频输入。存储器可以是Flash 存储器或硬盘。通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。尽管MP3音乐是有损的,它在压缩过程中对功率谱较弱的信号有所丢失,但它同CD原声区别不大,不影响一般音乐爱好者对音乐的欣赏。MP3大大缩小了声音文件的长度,使音乐的存储和传输更方便。 2 MP3的编解码过程 2.1 MP3的工作原理 一个完整MP3播放器要分几个部分:中央处理器、解码器、存储设备、主机通讯端口、音频DA和功放、显示界面和控制键、其中中央处理器和解码器是整个系统地核心。这里的中央处理器我们通常成为MCU (单片微处理器),简称单片机。它运行MP3的整个控制程序,也称为fireware(或者固件程序)。控制MP3的各个部件的工作:从存储设备读

设计文档 (AW音乐播放器)

2015年华北五省(市、自治区)及港澳台大学生计算机应用大赛移动终端应用创意与程序设计 (应用类样例) 【项目名称】AW音乐所在学校:天津商业大学宝德学院所在赛区:天津赛区 团队名称:三个臭皮匠 团队成员:安兴悦王璐瑶王鹤 提交日期:2015.10.12

目录 一、作品概述 (1) 二、作品可行性分析和目标群体错误!未定义书签。 (1)可行性分析 ...... 错误!未定义书签。(2)目标群体 .......... 错误!未定义书签。 三、作品功能与原型设计 (2) (1)功能概述: (2) (2)原型设计 (3) 四、作品实现、难点及特色分析 (5) (1)作品实现及难点 (5) (2)特色分析 (5) 五、团队介绍和人员分工 (5) 六、其他 (6) 七、致谢 (6)

一、作品概述 在这个互联网普及的时代,人们对于手机功能的应用除了打电话、发短信之外,更多的是以娱乐形式来放松自我。这便成为了我们决定设计这款手机音乐软件的主要原因。 我们开发的这款手机音乐软件以“私人订制”与“休闲娱乐”为主题设计,无论你是清纯学院风还是韩系欧美范,我们都会为您呈现一份独家定制只属于你的音乐体验,让用户在专属的界面中感受到我们这款音乐软件带来的恬静、放松。 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同种类,现在市场上主要有三个手机操作系统——Windows Mobile,Symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上又有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的音乐播放器.现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,可以播放本地的MP3音乐,也可以播放在线的MP3音乐。本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使本人更加熟练Android的技术和它在市场上的特点。 Android是一个开源系统技术,它底层是基于Linux操作系统,本音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面截图以及主要功能运行流程图,还对开发过程中遇到的问题和解决方法进行了详细的讨论。该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示、在线播放、音乐下载等功能于一体,性能良好,在Android系统中能独立运行。MP3的全名是MPEG Audio Layer-,是一种声音文件的压缩格式,由于本播放器只限于应用层的探讨,所以对具体的压缩算法不作深究。 二、作品可行性分析和目标群体 (1)可行性分析

基于嵌入式linux的bsp概念与开发

引言 Linux诞生于1991年,芬兰学生LinuSTorvaldS是Linux操作系统的缔造者,与传统的操作系统不同,Linux操作系统的开发一开始就在FSF(自由软件基金会组织)的GPL(GNU Public License)的版本控制之下,Linux内核的所有源代码都采取了开放源代码的方式。Linux具有相当多的优点。 BSP(Board Support Packet——板级支持包)是介于底层硬件和上层软件之间的底层软件开发包,其主要功能为屏蔽硬件,提供操作系统的引导及硬件驱动。Linux操作系统目前已发展为主流操作系统之一,并且还在不断的壮大和发展。 最新的2.6版内核增加了很多新特性为嵌入式应用提供广泛的支持,使得它不仅可以应用于大型系统,还可以应用于像PDA这类超小型系统中。随着Linux系统在嵌入式领域的广泛应用,对它的研究也在逐渐成为热点并且走向成熟。 在嵌入式系统开发过程中,板级支持包(BSP,BoardSuport Package)的开发已成为非常重要的环节。本文以Linux系统上的BSP技术为研究内容,讨论了BSP的基本概念和设计思想,特别针对Linux系统上BSP的层次结构、各功能模块的实现技术做了详细分析。 通过分析PC机的BIOS技术阐述了嵌入式系统中板级初始化流程和技术重点,并从源代码分析入手详细分析了PC机GURB引导程序设计技术,提出了嵌入式系统上BootLoader的程序结构和设计思想。 嵌入式操作系统对设备驱动程序的管理技术是BSP设计的重要组成部分。本文对比了Linux2.4和Linux2.6的设备驱动程序框架,同时结合大量源代码的研读,对Linux2.6内核的统一设备模型进行了深入的研究,剖析了内核对象机制的主要数据结构及驱动程序设计框架,理解了该模型对设备类的抽象机制,并在实际的项目实践中,结合所作的研究工作,圆满完成了基于ARM+Linux开发平台的BSP开发任务。 最后对本文研究工作进行了总结,并对下一步工作进行了展望。

基于android的在线音乐播放器的设计与实现开题报告

本科生毕业设计(论文)开题报告 论文题目:基于android的在线音乐播放器的设计与实现 学院:软件学院 专业:计算机科学与技术 学生姓名: 学生班级: 学生学号: 指导教师:

基于android的在线音乐播放器的设计与实现 一、课题的研究目的和意义 现如今社会生活节奏日益加快,人们在忙碌的生活中欣赏音乐是最好的舒缓压力的方式之一。随着移动设备的日益完善,我们大家都已经有了在手机上听自己喜欢歌曲的习惯,以往的做法是用数据线或者蓝牙等无线设备将PC上的歌曲复制几首到手机当中,反反复复的听,等到听厌了以后,再次装一些歌曲进去,如此反复,非常的麻烦。因此,如果在我们的手机上能实现在线听歌,这将会带来极大的方便。 本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,是手机显得更生动灵活化,与人们更为方便,让手机主人随时随地处于音乐的旋律之中。本设计实现的重要功能是播放Mp3格式的音乐文件,并且能够控制音乐的播放,暂停,显示歌手信息,歌曲专辑等功能。本项目还可以使人们生活更加多样化,也使设计者更加熟悉Android的技术和其它在市场上的特点。 二、国内外发展状况 1. 目前中国拥有世界上最大的手机用户群,Android在中国的前景十分广阔,首先是有成熟的消费者,Android社区是分红或,这些社区为Android在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了Android阵营,保过中国移动、中国联通、中心通讯、华为通讯、联想等大企业,同时还不仅仅局限于手机,国内厂家也陆续退出了采用Android系统的MID产品,比较著名的包括由Rock chip和蓝魔推出的同时具备高清播放和智能系统的音乐汇W7和2010年推出的原道N5,我们可以预见Android也将会被广泛应用在国产智能上网设备上,将进一步扩大Android系统的应用范围。 2. 国外Android市场正在如日中天的扩展,根据市场调研机构NPDGroup最近发布的一份报告称,今年第一季度基于Android操作系统的智能手机在美国智能手机总销售量中所占比例达到28%,超越苹果iPhone。2012年另一家市场研究公司comScore发布报告称,第三季度三星和Android操作系统仍在美国移动市场上占据主导地位。报告显示,在对3万多名美国移动用户进行调查后发现,谷歌Android平台第三季度仍在美国市场上占据主导地位,所占份额为52.5%,比第二季度增长近1个

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

学生毕业设计报告 设计题目:基于51单片机音乐播放器设计

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

毕业设计任务书 专业班级姓名 一、课题名称:基于51单片机的音乐播放器设计 二、主要技术指标:1、AT89c51的输入电压:DC+5V 2、4k字节在系统编程(ISP) Flash 闪速存储器 3、128*8字节内部RAM 4、32个可编程I/O口线 5、2个16位定时/计数器 三、工作内容和要求:1、播放时显示歌曲序号(或名称) 2、利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,演奏乐曲。 3、可通过功能键选择乐曲,暂停,播放 4、按顺序从头至尾自动循环播放全部设置的乐曲 5、按规范要求写出论文说明书 四、主要参考文献:[1]胡汉才. 单片机原理及其接口技术(第2版)[M]. 北京:清华大学出版社,2003 [2]孙涵芳.MCS-51系列单片机原理及应用[M].北京:北京航空航天大学出版社,1996.4 [3]阎石.数字电子技术基础(第三版)[M].北京:高等教育出版社,1989 [4]王晓君,安国臣.MCS-51及兼容单片机原理与选型[M] .北京:电子工业出版社,2003 [5]马家辰,孙玉德,张颖.MCS-51单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,2001 [6]林凌,李刚,丁茹,李小霞. 新型单片机接口器件与技术[M]. 西安:西安电子科技大学出版社,2005 学生(签名)年月日 指导教师(签名)年月日 教研室主任(签名)年月日 系主任(签名)年月日

音乐播放器的设计与实现

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

音乐播放器设计文档

题目:心灵音乐播放器学号: 姓名: 学院:信息工程学院 专业班级: 指导教师: 设计时间:2012年4月至2012年5月

目录 第一章引言 (3) 1.1 项目背景 (3) 2.2 编写目的 (3) 第二章系统开发 (4) 2.1 功能需求(用例图分析) (4) 2.1.1 播放器的基本控制需求 (4) 2.1.2 播放清单列表管理需求 (5) 2.1.3 播放友好性需求 (6) 2.1.4 播放扩展卡需求 (6) 2.1.5 功能需求(时序图)分析................................................... 错误!未定义书签。 2.2 系统结构图和流程图 (6) 2.2.1 音乐播放器的系统流程图 (6) 2.2.2 系统功能表(表2.1)和系统功能结构图(图2.5.2) (7) 2.3 详细设计 (8) 2.3.1 文档结构 (8) 2.3.2 类结构 (9) 2.4 初步设计界面图 (10) 2.4.1 在线列表 (11) 2.4.2 下载器界面 (11) 2.4.3 播放器界面 (12) 2.4.4 音乐设置界面 (13) 2.4.5 默认本地音乐文件夹界面 (14) 2.4.6 单击某条记录弹出对话框 (15)

摘要 Android是一个开源系统技术,它底层是基于Linux操作系统,本音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面截图以及主要功能运行流程图,还对开发过程中遇到的问题和解决方法进行了详细的讨论。该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示、在线播放、音乐下载等功能于一体,性能良好,在Android系统中能独立运行。MP3的全名是MPEG Audio Layer-3,是一种声音文件的压缩格式,由于本播放器只限于应用层的探讨,所以对具体的压缩算法不作深究 关键词:Android;开源系统;Linux;音乐播放器 第一章引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同种类,现在市场上主要有三个手机操作系统——Windows Mobile,Symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上又有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的音乐播放器。 2.2 编写目的 现金社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,可以播放本地的MP3音乐,也可以播放在线的MP3音乐。本设计所实现的主要功能是播放MP3音乐文件,并且能够控制播放,暂停,停止,上一曲,下一曲,音量调节,视觉外观,播放列表和歌曲文件管理操作等多种播放控制功能,界面简明,操作简单。 本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使本人更加熟练Android的技术和它在市场上的特点。

音乐播放器设计与仿真

科信学院 电子信息工程CDIO二级项目(2013/2014学年第二学期) 题目:音乐播放器的设计与仿真 专业班级: 学生姓名: 学号: 指导教师: 设计周数: 设计成绩: 目录

题目:基于Proteus与8253、8255A、8086芯片的音乐播放器 (2) 音乐播放器的设计与仿真 (2) 1 设计目的 (2) 2 设计正文 (2) 2.1音乐播放器的设计原理 (2) 2.2 8253、8255A以及CPU8086芯片介绍 (3) 2.2.1芯片8253简介 (3) 1、8253外部引脚介绍 (3) 2、8253内部结构介绍 (4) 3、8253作为定时器与计数器时的功能介绍 (6) 4、方式选择控制字 (7) 5、8253的工作方式 (7) 2.2.2 芯片8255的介绍 (8) 1、8255A外部引脚介绍 (8) 2、8255A内部结构介绍 (10) 3、8255的工作方式 (12) 4、8255A控制字 (12) 2.2.3 CPU 芯片8086介绍 (14) 1、8086简介 (14) 2、8086外部引脚介绍.............................................................................................14. 3、8086内部结构介绍 (16) 2.2.4音乐播放器的设计流程 (18) 1、音乐播放器的总体设计流程图 (18) 2、芯片间连接情况以及功能介绍 (19) 3、程序设计的总体思路 (21) 4、硬件连接电路图 (22) 3.设计总结 (22) 4.参考文献 (23)

相关文档
最新文档