嵌入式MP3播放器
- 格式:doc
- 大小:335.50 KB
- 文档页数:8
基于嵌入式ARM-Linux的播放器的设计与实现摘要随着21世纪的到来,人类进入了PC时代。
在这一阶段,嵌入式技术得到了飞速发展和广泛应用。
由此,本文提出了一种基于嵌入式ARM-Linux的播放器设计与实现的方案。
本文首先详细分析了ARM体系结构,研究了嵌入式Linux操作系统在ARM9微处理器的移植技术,包括交叉编译环境的建立、引导装载程序应用、移植嵌入式Linux内核及建立根文件系统,并且实现了嵌入式Linux到S3C2410开发板的移植。
由于嵌入式系统本身硬件条件的限制,常用在PC机的图形用户界面GUI系统不适合在其上运行。
为此,本文选择了Minigui作为研究对象,在对其体系结构等方面进行研究基础上,实现了Minigui到S3C2410开发板的移植,完成了嵌入式图形用户界面开发,使得系统拥有良好的操作界面。
对于播放器,本文实现了Linux系统下的通用媒体播放器—Mplayer到S3C2410开发板的移植。
通过对音频数据输出的研究,解决了Mp1ayer播放声音不正常的问题,实现了一个集音乐和视频播放于一体的嵌入式多媒体播放系统。
最后,总结了论文所做的工作,指出了嵌入式播放器所需要进一步解决和完善的问题。
关键词:嵌入式ARM-Linux; S3C2410; Mplayer; GUI界面; MiniguiPlayer Designing and Implement Based On Embedded ARM-LinuxAbstractAlong with the 21st century arrivals, the humanity enters the post PC time. In this stage, embedded technology gets rapidly developed and widely used. So, this paper aims to design a player based on embedded ARM-Linux.First, in this paper, ARM architecture and the characteristic are analyzed in detail. The emphasis of the study is put on the porting techniques of embedded Linux operation system based on the ARM9 micro-processor, which include setting cross complier、transplanting Bootloader、transplanting embedded Linux kernel and setting root file system; Furthermore, implement the technique of transplanting Embedded Linux to S3C2410 board.GUI (Graphical User Interfaces) systems which are supported by normal PCs cannot run well on the embedded systems, just because of the restriction of the hardware of embedded devices. So, this paper selects Minigui as research object. Based on the Minigui architecture and its other aspects, the technique of transplanting Minigui to S3C2410 board is given in detail, and then an embedded GUI system is established and it also makes the handle interface friendly.About the player, this paper implements transplanting the universal player on Linux-Mplayer to S3C2410 board. By learning of audio data, it solves the problem of sound abnormality, and achieves an embedded multimedia system which could play audio and video files.Key words: Embedded ARM-Linux; S3C2410; Mplayer; GUI interface; Minigui目录摘要 (I)Abstract ........................................................... I I 目录.............................................................. I II 第一章绪论.. (1)1.1系统研究背景 (1)1.1.1 多媒体播放器与嵌入式系统 (1)1.1.2 嵌入式多媒体播放器国内外发展现状 (1)1.2 嵌入式处理器 (3)1.3 嵌入式系统 (4)1.3.1嵌入式系统的概述 (4)1.3.2 嵌入式系统的选择 (5)1.4 本文的意义和主要工作 (7)第二章系统软硬件平台的搭建 (8)2.1 硬件开发平台的介绍 (8)2.1.1 核心板 (8)2.1.2 外设板 (8)2.1.3 设计所用硬件介绍 (9)2.2 硬件平台的设计方案 (9)2.2.1 核心板设计 (9)2.2.2 外设电路设计 (14)2.3 嵌入式软件开发环境 (15)2.3.1 引导装载程序 (16)2.3.2 宿主机开发环境配置 (17)2.3.3 交叉开发环境的建立 (18)2.3.4 内核的编译 (18)2.3.5 烧制内核映像和文件系统 (20)2.4 嵌入式图形用户界面的实现 (20)2.4.1 图形用户界面minigui的简介 (20)2.4.2 MiniGUI在S3C2410开发板上的移植过程 (21)第三章 Mplayer的移植 (25)3.1 Mplayer的简介 (25)3.2 Mplayer的移植 (25)3.2.1 安装交叉编译工具及解压源代码 (25)3.2.2 编译Mplayer (25)3.3 调试 (27)第四章嵌入式播放器Mplayer的设计 (31)4.1 播放器的工作流程 (31)4.2 播放器的逻辑结构 (31)4.3 Mplayer播放器的目录文件组织结构 (32)4.4 播放器对解码器和输出设备的管理方式 (34)第五章总结与展望 (36)5.1 本文主要完成的工作及结论 (36)5.2 完善与展望 (36)致谢 (37)参考文献: (38)第一章绪论1.1系统研究背景从上世纪末开始,随着计算机和电子技术的发展走上快车道,便携式电子设备,诸如智能手机,个人电子助理(PDA)的运算存储能力和通信能力都得到了长足的进步,便携式设备的用户界面也变的越来越友好,从早期的只能显示单色文字的LED,发展到现在大尺寸6万色彩色液晶屏幕。
课程设计目标与任务、计划与进度安排:要求:利用51单片机,蜂鸣器设计音乐播放器。
按键控制播放三首歌曲。
完成以下设计环节:1)使用PROTEUS仿真软件,设计仿真原理图。
2)使用Uvision2开发平台,采用C语言设计软件程序。
3)在仿真原理图上调试运行软件程序,完成系统仿真。
1.项目功能概述二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。
随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。
而品质的提高,功能的更新,可靠性的增强,品种的变化无不于产品的核心控制部分水平的提高密不可分。
家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。
而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。
现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。
例如,就市场上的 mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。
但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,除智能化的单片机莫属。
2.硬件电路设计2.1 制作音乐播放器所使用的主要元器件主要元器件个数8051单片机1个晶振 12MHZ 1个小喇叭1个电容 30pf 2个极性电容 1uf 2个10nf 1个电阻 10k 1个排阻 1k 1个2.2 8051单片机8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种,由英特尔公司于1981年制造。
INTEL公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,如Atmel、飞利浦、深联华等公司,相继开发了功能更多、更强大的兼容产品。
嵌入式系统综合设计说明书题 目: 基于Android 的音乐播放器设计与实现姓 名: 王若禹学 院: 信息工程学院班 级: 计算机09-2指导教师: 刘志强 庄旭飞 王晓强 杜秋阳2012 年 9 月 25 日摘要当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉效果及用户体验,因此,也逐步的提高了对系统的要求。
本文主要是在Android系统上对音乐播放器应用程序的设计与实现进行讨论,通过这一过程来进一步学习与应用Android平台,这样对个人的未来发展也很有意义。
本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse 开发工具对播放器代码进行编写。
同时给出了详细的系统设计过程、部分界面截图及主要的功能流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集下载、播放、暂停、停止等功能于一体,性能良好,在Android系统中能独立运行。
MP3是一种声音文件的压缩格式,由于本播放器只限于应用层程序的探讨,所以对具体的压缩算法不做深究。
实验证明,基于Android平台的软件开发简单,使用方便简洁,必将成为未来几年的发展方向,具有普遍意义。
关键词:Android;音乐播放器;MP3;JAVA目录第一章引言 (1)1.1项目背景 (1)1.2 编写目的 (1)第二章Android应用软件开发基础 (2)2.1 Android的基本介绍 (2)2.2 Android应用开发语言 (2)2.3 Android应用程序组件 (2)2.4 AndroidManifest.xml文件 (4)第三章搭建Android开发环境 (5)3.1 安装JDK (5)3.2 安装Eclipse (5)3.3安装SDK (5)3.4安装ADT (5)3.5 创建AVD (6)第四章系统的总体设计 (7)4.1 设计思想 (7)4.2 系统功能结构图 (7)第五章音乐播放器的详细设计 (11)5.1项目UI篇 (11)5.2开机动画页面的设计 (11)5.2.1 设计步骤 (11)5.2.2效果图 (12)5.3基本代码的编写 (12)5.3.1在Service 里定义一系列关于播放状态的常量 (12)5.3.2注册广播接收以及定义广播的action (13)5.3.3写发送广播(前歌曲的信息及状态)的一些方法 (13)5.3.4播放控制代码的编写 (13)5.4主页面的代码实现 (14)5.4.1 初始化页面的一些基本控件 (14)5.4.2 Seekbar的更新与监听 (14)5.5播放列表页面的实现 (15)5.5.1适配器的创建 (15)5.5.2 musiclist 中getMultiData( )方法的创建 (15)5.5.3 点击列表中的一项跳转到播放列表并播放当前歌曲 (15)5.6 Notification功能的实现 (16)5.6.1 创建MyNotification 这个类 (16)5.6.2在activity中调用notifation这个类 (16)5.7菜单功能的实现 (16)5.8 AppWidget的实现 (17)5.8.1 Appwidget布局页面 (17)5.8.2 AppWidget类的创建 (18)第六章总结 (19)参考文献 (20)第一章引言1.1项目背景Android是谷歌于2007年公布的开放式源代码手机系统,一直受到人们的热捧。
基于嵌入式系统的多媒体音乐播放器宫鹏;宫玥;王瑞宝【摘要】为了改善音乐播放器传统界面,扩充功能,提高音质,基于ARM7嵌入式系统平台和FAT 32文件系统,设计了一款带有文本阅览功能的多媒体音乐播放器.它不仅能正确识别并显示存储在SD,MMC等存储卡内的音频文件,支持环绕立体声调节和重低音调节,还可通过液晶屏浏览存储在存储卡内的中、英文TXT文档.该播放器选用具有出色音频解码能力的VS1053解码芯片,它支持320 Kb/s的MP3或256 Kb/s的WMA音乐文件的播放.该播放器通过视听验证,实现了4种以上不同的音效,满足使用者对音效的不同喜好.实现了环绕立体声调节和真正的立体声双声道音频输出.同时在操作上简单便捷,具有友好的人机界面.%To perfect the tranditional interface, extend the functions, and improve the tone quality of music player, a multimedia music player with text readLng function was designed based on Arm7 embedded platform and FAT32 file system. It not only can recognize and display MP3 and WMA files stored in memory cards (such as SD and MMC, etc. ) , support the tuning of surround sound and mega bass, but also can read Chinese or English TXT documents stored in memory card by LCD. The vs1053 decoding chip which has a perfect voice frequency decoding ability is chosen for the player. It supports the play of 320 kbps MP3 and 253kbps WMA files. More than four sound effects of the player can meet the requirement of different users.The tuning of surround sound and the output of real stereo dual-sound channel were achieved. Moreover, this system with excellent human-machine interface is easy to operate.【期刊名称】《现代电子技术》【年(卷),期】2011(034)012【总页数】4页(P100-103)【关键词】ARM7;SD卡;多媒体播放器;VS1053【作者】宫鹏;宫玥;王瑞宝【作者单位】青岛大学自动化工程学院,山东青岛266071;青岛有线电视网络中心,山东青岛266000;青岛有线电视网络中心,山东青岛266000【正文语种】中文【中图分类】TN911-34;TP3330 引言嵌入式系统具有处理速度快、低功耗、体积小、功能强大且易于移植等优点而得到广泛的应用。
小巧玲珑——丹丁DX-9 MP3播放器
佚名
【期刊名称】《《微型计算机》》
【年(卷),期】2005(000)016
【摘要】丹丁DX-9 MP3播放器以“小”著称,体积只有
29mm×56mm×17.8mm,重量仅有37克,采用了经典的直板造型和仿金属材质工艺,运用了双色成型的无涂层亚光设计,造型圆润,前后面板的接合处和各个按键做工都很精致。
【总页数】1页(P18)
【正文语种】中文
【中图分类】TP317
【相关文献】
1.彩蛋MM的最爱丹丁DX8 PLUS MP3播放器 [J],
2.黄金比例的迷你型彩屏MP3 丹丁DX9 MP3播放器 [J],
3.丹丁MH-328MP3播放器 [J], 小林
4.丹丁 DX9 MP3播放器 [J], 无
5.丹丁DATUM DX-8 Plus MP3播放器 [J], 无
因版权原因,仅展示原文概要,查看原文内容请购买。
惠州学院HUIZHOU UNIVERSITY毕业论文(设计)中文题目:基于STM32单片机的MP3播放器设计英文题目:Design of MP3 player based on STM32 micro-controller姓名__ 陈腾奎 ___学号_ 110701203 ___专业班级_ 11电气2班 ___指导教师__ 陈治明 ___提交日期 2015年5月25日__教务处制惠州学院本科毕业论文(设计)开题报告年月日惠州学院毕业论文(设计)任务书备注:1、本任务书一式三份,系、指导教师、学生各执一份。
2、学生须将此任务书作为毕业论文(设计)说明书的附件,装订在说明书中。
惠州学院毕业论文(设计)文献综述摘要随着数字编解码技术及压缩技术的发展,语音文件也向着高压缩比、高保真的方向发展,从MP1、MP2到目前的MP3格式。
因此高压缩比、高保真MP3播放器设计及研究有很好的发展前景。
本论文介绍了基于STM32微处理器的MP3播放器的设计方法,实现了从SD卡中读取音乐文件数据,再将读取的数据流进行软件解码,最后通过音频信号输出驱动耳机实现音乐播放功能。
并在液晶屏上显示音乐的实时播放状态,通过TFT触摸屏上的人机交换界面,实现了音乐的播放,停止,声音增大,减小等功能模式。
基本上实现了一个带有触摸功能的MP3播放器。
关键词MP3播放器 STM32F103ZET SD卡触摸屏 FATFS文件系统ABSTRACTWith the development of digital codec technology and compression technology ,Voice files are also in the direction of high compression ratio, high-fidelity development, from MP1, MP2 to MP3 format now. Therefore, high compression ratio, high-fidelity MP3 player design and research have good prospects for development.This paper describes the design of microprocessor-based STM32 MP3 player, Realize from reading music files from SD card and then read the data stream decoding software,Finally, the audio signal output to drive headphones realize music playback ,and displays real-time playback status of the song on the LCD screen, through a graphical user interaction diagram circles TFT touch screen, to achieve the songs play, stop, sound increase, decrease function mode. Basically realize MP3 player with a touch-enabled.Key Words MP3 player STM32F103ZET SD Card Touch screenFATFS file system目录1 绪论 (1)本课题的提出及意义 (1)研究现状 (1)2 硬件设计 (2) (2) (2) (3) (3)SD卡模块 (4)LCD显示模块 (5) (6)3 软件设计 (8)软件开发架构 (8)软程序设计流程图 (9)软件代码结构 (10)驱动程序 (14)液晶屏驱动程序 (14)文件系统驱动程序 (15)触摸屏卡驱动程序 (16)MP3驱动程序 (17)4 系统调试 (20)开发环境 (20)软件开发环境 (20)硬件开发环境 (21)设计调试 (22)UI界面设计 (22)SD卡模块测试 (22)触摸屏校验 (23)显示屏测试 (23)成品展示 (25)致谢 (26)参考文献 (27)附录 (28)1 绪论本课题的提出及意义MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,以及改善MP3的音质是最关键的,也是亟待解决的问题。
嵌入式MP3播放器一、系统要求●JXARM9-2410A教学实验箱●PC机(Pentium(R) Dual-Core CPU E6700 @3.20GHz 1.60GHz、2GB RAM)●RedHat Linux OS with arm-linux-gxx二、设计要求能够使开发板通过音频输出口输出当今比较流行的音频格式解码后的信号(MP3,WMA,ACC等)。
在播放控制方面能够实现最基本的流程控制(播放、暂停、快进、快退)并能够实现播放列表功能。
三、系统软硬件平台本次课程设计使用的硬件平台是创维特公司生产的JXARM9-2410嵌入式开发板,核心部分为一块载有Sansumg s3c2410的ARM处理器的核心板(最小系统),该最小系统还包含有32MB的FLASH和64MB的RAM。
只有核心板还不能完成设计任务,因为设计题目中需要使用声音设备,所以还必须具备音频处理模块。
在调试过程中需要在PC机上运行DNW超级终端与开发系统通信,所以还用到了一个串口,并且,内核文件以及移植的程序需要通过TFTP下载到开发系统上,因此还需要一个以太网口模块。
开发系统外设板逻辑电路图如下(来自创维特网站):图1 外设板逻辑电路图四、嵌入式Linux的编译与下载下图所示为本课设所采用的实验环境以及开发流程。
在主机的RedHat Linux 操作系统下安装Linux 发行包以及交叉编译器arm-linux-gcc。
然后对Linux 进行配置(make menuconfig)并选择适合本课设系统的相关配置,配置完成后进行编译生成Linux 映像文件zImage。
然后通过u-boot 的tftp 命令将该文件下载到目标板并执行。
图 2 Linux内核开发流程有关于Linux系统的安装和交叉编译器的安装过程不是本课设关心的主要问题,在此就不详细介绍了。
下面将详细介绍Linux内核的编译过程以及将内核下载至开发板上并启动的过程。
编译内核$cd /home/cvtech/arm9/linux$make menuconfig加载开发系统的预配置文件config-jx2410加载完配置文件之后对内核的裁剪工作也就完成了,之后编译的内核将包含外设板必要的驱动模块,当然也包含本课设所需的音频驱动。
下面就是编译内核:$make clean$make dep$make$make zImage在执行完make zImage命令之后将会在/home/cvtech/arm9/linux/arch/arm/boot目录下生成zImage文件。
这就是内核镜像文件,将其复制到/tftpboot目录下以便通过tftp服务下载到目标机上。
$cp zImage /tftpbootLinux镜像的下载与运行将JXARM9-2410 的串口0 与PC 的串口0 连接,将JXARM9-2410 的网卡和PC 的网卡使用直连网线进行连接,或者将JXARM9-2410 和PC 机使用普通网线接入同一局域网。
在windows系统下开启DNW超级终端并输入以下命令:tftp 30800000 ramdisk.gztftp 30008000 zImagego 30008000或者直接输入run loadlinux如果tftp发生错误则可能是由以下几种问题引起的:1、网络没有正确连接:宿主机和目标机的IP地址不再同一子网内2、所传送的文件在宿主机的/tftpboot文件夹内不存在五、嵌入式播放器MPlayer移植MPlayer是Linux上的电影播放器,它能使用众多的本地的,XAnim,RealPlayer,和Win32 DLL编解码器,播放大多数MPEG,VOB,A VI,OGG,VIVO,ASF/WMV,QT/MOV,FLI,RM,Nuppe1Video,yuv4mpeg,FILM,RoQ文件。
你还能观看VideoCD,SVCD,DVD,3ivx,Rea1Media,和DivX格式的电影。
Mplayer的另一个大的特色是广泛的输出设备支持。
它可以在X11,Xv,DGA,OpenGL,SVGAlib,fbdev,AAlib,DirectFB上工作,而且也能使用GGI和SDL(由此可以使用他们支持的各种驱动模式)和一些低级的硬件相关的驱动模式(比如Matrox,3Dfx和Radeon,Mach64,Permedia3)!他们大多数支持软件或者硬件缩放,因此你能在全屏下观赏电影。
MPlayer还支持通过硬件MPEG解码卡显示。
可以使用European/IS08859-1,2(匈牙利语,英语,捷克语等等),西里尔语,韩语的字体的清晰放大并且反锯齿的字幕(支持10种格式)。
移植前准备MPlayer源码:MPlayer-1.0pre7try2.tar.bz2交叉编译器:arm-linux-gcc-3.3.2.tarlibmad源码:libmad-0.15.0b.tar.gz交叉编译器安装将arm-linux-gcc-3.3.2.tar解压至/usr下,添加环境变量以便在其他目录下能够使用arm-linux-gxx命令。
export PA TH=$PATH:/usr/local/arm/3.3.2/bin需要注意的是上述命令只能零时添加环境变量,关机后将失效。
编译libmad库通过查阅资料得知,MPlayer的mp3lib解码库使用的是浮点运算,解码过程中会使处理器过载,播放效果大幅下降。
通过实验我们也验证了使用mp3lib解码几乎听不到连续的声音。
为了解决这个问题,我们采用libmad解码库,该库采用定点运算,速度比浮点运算快。
首先进入libmad目录,首先通过configure命令生成Makefile。
./configure --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --prefix=/usr/local/arm/3.3.2/lib CC=/usr/local/arm/3.3.2/bin/arm-linux-gcc生产编译所需的Makefile之后可以通过如下命令编译libmadmakemake install命令执行完后将在/usr/local/arm/3.3.2/lib目录下生产libmad的lib和include文件夹。
编译MPlayer./configure --cc=/usr/local/arm/3.3.2/bin/arm-linux-gcc--target=arm-linux--enable-static--disable-win32--disable-dvdread--enable-fbdev--disable-mencoder--disable-live--enable-mad--enable-libavcodec--disable-tv--with-extralibdir=/usr/local/arm/3.3.2/lib/lib--with-extraincdir=/usr/local/arm/3.3.2/lib/include--disable-sdl--disable-gui--disable-mpdvdkit--enable-linux-devfsconfigure所附带的参数可以通过./configure –help查看其含义。
之后make编译即可,编译完成后将在当前目录下生成mplayer的可执行文件,不过该文件只能在ARM平台上运行。
调试将编译好的mplayer复制到/tftpboot目录下,之后将用于测试的MP3歌曲也复制到/tftpboot目录下。
在DNW超级终端中输入如下命令进行NFS的挂载:mount 192.168.1.180:/tftpboot /mnt/nfs进入挂载目录:cd /mnt/nfsls运行程序:./mplayer Style.mp3但是却没有成功,看到的只是nfs: server not responding, still trying 查阅资料得知,由于宿主机和目标机网卡的速度差异导致数据包丢失,所以出现了这样的问题,只要在mount后加上参数即可解决。
umount /mnt/nfsmount –t nfs –o intr,nolock,rsize=1024,wsize=1024 192.168.1.180:/tftpboot /mnt/nfs./mplayer Style.mp3现在能够听到声音了,但是几乎就是噪声,因为mp3lib解码的问题。
下面将使用libmad进行解码:./mplayer –ac mad Style.mp3此时能够正常听到歌曲了,但是比PC播放的速度要慢,这个问题还有待解决。
六、播放流程控制MPlayer是一个专业的播放器,已经实现了所有的播放流程控制的功能。
<− 和−> (左右光标键)------------后退/ 快进10 秒。
up 和down(上下光标键)-----------快进/ 后退1 分。
pgup 和pgdown(翻页键)---------快进/ 后退10 分。
[ 和]------------------------------------减少/增加当前回放速度10%。
{ 和}------------------------------------减半/加倍当前回放速度。
backspace(退格键)-----------------重置正常回放速度.< 和>----------------------------------在播放列表中后退/ 快进。
ENTER(回车键)---------------------在播放列表中快进, 甚至越过末尾。
HOME 和END------------------------下一个/ 前一个父列表中的播放树项。
INS 和DEL (仅用于ASX 播放列表)----下一个/ 前一个供选择的源。
p / SPACE------------------------------暂停(再按取消暂停)。
. --------------------------------步进。
按一下暂停回放, 每按一下就播放一帧(直到按其它键取消步进)。
q / ESC----------------------------------停止播放和退出。
+ 和- -----------------------------------调整音频延迟增加/减少0.1 秒。
/ 和* -----------------------------------降低/ 提高音量。
9 和0 -----------------------------------降低/ 提高音量。