资源描述
大学本科生毕业设计基于Android的嵌入式音频系统摘要Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。本课题设计了一个基于Android的嵌入式音频系统。该系统主要实现了音频的采集、存储、播放和传输。采集是通过SD卡中所拥有的声音或者Android自带的麦克风进行声音采集;处理是在音频的采集过程中对音频所采集到的声音编码的方式的规定;存储是对已采集处理完成的音频的保存;播放是实现对音频的开始播放、暂停、继续,重播、停止功能;传输是将播放音频的位置传递给播放器进行播放;传输是指开发板与PC之间的音频文件传送。系统硬件平台采用飞凌OK6410开发板,软件平台采用android操作系统。论文对嵌入式系统进行了较详细的介绍,阐述了OK6410开发板的结构和特性,分析了android操作系统的原理,研究了音频系统的应用开发过程,描述了android开发环境建立方法,并设计实现了音频采集、存储、处理、播放和传输的功能。关键词:android、嵌入式系统、音频系统、飞凌OK6410Abstract The word Android meaning refers to the robot, Also Google announced on November 5, 2007 that the Linux platform based on open source mobile phone operating system name, the platform by the operating system, middleware, user interface and application software, which is the first for the mobile terminal to create a truly open and complete mobile software. The subject of a design based on the Android embedded audio system. The system is mainly to achieve the audio collection, storage, and broadcast transmission. Acquisition by the SD card with voice or Android built-in microphone sound collection; processing is in the audio during acquisition of audio collected voice coding rules; storage is on acquisition and processing complete audio preservation; play is to realize the audio play, pause, continue, the replay, stop function; transmission is the audio playing position is passed to the player for playing; transmission refers to the development board audio file transfer between PC and. The system hardware platform by filling the OK6410 development board, software platform based on the Android operating system. Research on embedded system in detail, describes the OK6410development board structure and characteristics, analysis of the Android operating system principle, studies the audio system development process, described in the Android development environment to establish methods, design and realize the audio collection, storage, processing, and broadcast transmission function.分享到 翻译结果重试抱歉,系统响应超时,请稍后再试 支持中英、中日在线互译 支持网页翻译,在输入框输入网页地址即可 提供一键清空、复制功能、支持双语对照查看,使您体验更加流畅Key Words:android、Embedded system、Audio system、ForlinxOK6410目录1.绪论31.1当前市场需求分析31.2 android操作系统简介31.3嵌入式音频系统概述42.嵌入式音频系统总体设计42.1音频嵌入式系统总体设计42.2嵌入式系统的概念62.2.1嵌入式系统的定义62.2.2嵌入式系统的特点62.2.3嵌入式系统的历史62.2.4嵌入式系统的组成73.音频系统的硬件设计73.1音频系统硬件设计框架73.2 OK6410开发板硬件结构83.3ARM简介103.4 S3C6410处理器特性103.5WM9714L音频芯片124.音频系统软件开发134.1音频系统软件开发流程134.2 android操作系统原理134.2.1 android定义134.2.2 android的发展历史134.2.3 android的应用开发前景144.2.4 android应用开发工具144.3音频系统软件开发方法144.3.1创建个人audioplay144.3.2播放组件定义164.3.3软件布局设计164.3.4src文件编程设计16 4.3.5模拟仿真164.4音频系统相关流程与程序175.音频系统集成与测试205.1需要的PC环境和软硬件205.2集成开发环境下载205.3集成开发环境安装205.3.1java jdk的安装205.3.2 eclipse安装20 5.3.3 android sdk安装21 5.3.4 驱动usb安装215.4音频程序加载方法22 5.4,1编译程序步骤22 5.4.2程序放到开发板方法. 225.5音频系统测试225.5.1模拟器仿真方法225.5.2测试结果23结论25致谢26参考文献26附件271.绪论1.1当前市场需求分析随着计算机技术、电子技术和通信技术的迅猛发展,嵌入式系统已经成为最热门、最有前途的IT应用领域之一,成为通讯和消费产品的共同发展方向。它广泛应用在人们工作生活的各个方面,几乎包括了所有的电器设备,如电视机顶盒、手机、数码相机、汽车、电梯、空调、微波炉、工业自动化设备和医疗仪器等等。在嵌入式技术快速发展的同时,嵌入式音频设备已然成为当今人类生活中的热点。从个人消费级的MP3、MP4、音乐手机、车载音频系统到专业级需求的如百货公司、酒店、机场、播音电台等大型场合的广播系统,嵌入式音频设备正发挥着重要的作用。当前,嵌入式音频设备正向着播出品质更加专业化、功能更加全面化、操作更加人性化、体积更加小型化、兼容网络化播出的方向发展,并且兼具嵌入式设备可定制性强、功耗低、性价比高的特点。可见音频系统领域的研究有着非常广阔的前景。在MP4、手机等消费类电子产品中,人们对于这些个人终端的要求早已不限于单纯通话和简单的文字处理,高质量的音效和实时的音频定制更是当前发展的重要趋势。1.2 android操作系统简介Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前,最新版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。 Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。Android早期由原名为Android的公司开发,谷歌在2005年收购Android.Inc后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张,在智能MP4方面也有较大发展。采用Android系统主要厂商包括台湾的HTC,(第一台谷歌的手机G1由HTC生产代工)美国摩托罗拉,SE等,中国大陆厂商如:魅族(M9),华为、中兴、联想、蓝魔等。1.3嵌入式音频系统概述嵌入式音频系统广泛应用在GPS自动导航、PDA、3G手机等嵌入式领域,目前国内在这方面的研究较少。嵌入式音频系统是传统音频电路的延伸,可以运行操作系统和应用软件,操作更兼简单,产品功能更丰富,降低了成本,提高了性能。嵌入式音频系统同时具有嵌入式系统和音频系统俩个方面的特点。音频系统是多媒体应用的一个重要组成部分,受环境噪声和电源噪声的影响较大,对声音的控制比较复杂,所以在设计嵌入式音频系统的时候要充分考虑到所设计产品的工作环境和一些被告知的条件,除了将音频系统成功融入到系统设计中去之外,还要尽可能的表现出最佳的音响效果。基于Android的嵌入式音频系统,拥有一个比较标准和健全的架构。从上层应用,java framework服务AudioMananger,本地服务Audio Flinger,抽象层AlsaHAL,本地库,再调用external的Alsa-lib外部支持库,最后到底层驱动的codec,可谓五脏俱全。现在在嵌入式系统中,音频模块是大多数产品不可或缺的一部分。本文的主要工作就是研究基于android的嵌入式音频系统。系统硬件平台采用飞凌OK6410开发板,软件平台采用android操作系统。对嵌入式系统进行了较详细的介绍,阐述了OK6410开发板的结构和特性,分析了android操作系统的原理,研究了音频系统的应用开发过程,描述了系统集成开发环境的建立方法,并设计实现了音频采集、存储、处理、播放和传输的功能。2.嵌入式音频系统总体设计2.1音频嵌入式系统总体设计1.总体设计流程图如下:图1.总体设计流程图系统需求分析:根据需求,确定音频系统所要完成的任务和所要达到的目标,最后制设计说明。体系结构设计:描述系统对硬件、软件的功能需求,以及包括这两方面的选型等。软硬件设计:根据体系结构设计,对软硬件进行详细设计,其中大部分都集中在软件设计上。系统集成:对系统的软件和硬件集成在一起进行综合调试,发现不足时实施改进。系统测试:对设计好的系统进行测试,检验系统是否满足设计目标。2.音频系统体系结构图如下:图2.系统物理结构流程图音频编解码器Codec负责处理音频信息,包括ADC,DAC,Mixer,DSP,输入输出以及音量控制等所有与音频相关的功能。Codec与处理器之间通过I2C总线和数字音频接口DAI进行通信。I2C总线 - 实现对Codec寄存器数据的读写。DAI - 实现音频数据在CPU和Codec间的通信。本设计硬件平台的是基于ARM11内核的S3C6410处理器的OK6410开发板,软件开发平台选择了android操作平台,通过Java编译音频系统程序。2.2嵌入式系统的概念嵌入式系统早已广泛应用于各个领域,它是一个广义的概念,从总体上嵌入式系统可以分为硬件和软件俩部分。硬件一般由高性能的微处理器和外围接口电路组成,软件一般由实时操作系统和其运行的应用软件构成,软件和硬件之间由中间层联系。嵌入式处理器是嵌入式系统的核心,它的类型很多,对嵌入式系统的研究,不仅需要了解基本概念、基本原理,还需要研究特定类型的微处理器。2.2.1嵌入式系统的定义嵌入式系统作为一项正在迅速发展中的、应用范围极为广泛的技术,由于观察和描述的角度不同,对于其定义有多重不同的提法。从嵌入式系统的基本特点出发,可以将嵌入式系统定义为:嵌入到对象系统中的专业计算机系统,其中的对象是指嵌入式系统所嵌入的宿主系统。目前在国内被普遍认同的定义是:嵌入式系统是以应用为中心、以计算机技术为基础,软硬件均可裁剪,能满足应用系统对功能、可靠性、成本、体积、功耗等指标要求严格的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。2.2.2嵌入式系统的特点嵌入式系统虽然在定义上有不同的描述,但可以从这些定义中看出,嵌入式系统具有以下几个方面的特点:1.嵌入式系统是面向用户、面向产品、面向应用的;2.嵌入式系统功耗低、体积小、专用型强;3.嵌入式系统有较高的执行速度和高可靠性;4.嵌入式系统的硬件和软件都必须高效率地设计,系统要精简,操作系统和应用软件集成在一起。5.对软件代码质量要求很高,应该尽最大可能避免死机的发生。6.嵌入式系统开发需要专门的开发工具和开发环境,一般采用交叉编译环境。2.2.3嵌入式系统的历史嵌入式系统的发展历史悠久,经历了从简单的处理器到单板机、单片机、再到加载了操作系统的开发板这样一个过程。纵观嵌入式技术的发展,大致经历了以下3个阶段:第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有检测、伺服、指示设备相配合的功能。这种系统大部分用于一些专业性极强的工业控制系统同中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储内容较小,几乎没有用户接口。这种嵌入式系统使用简便、价格很低,远远不能适应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电领域的需求。第二阶段是以嵌入式CPU为基础、以简单操作系统为系统核心的嵌入式系统。这一阶段系统的主要特点是:CPU种类繁多,通用性比较弱;系统开销小,效率高;操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及应用程序运行。第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件盒目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口,开发应用程序简单;嵌入式应用软件丰富。2.2.4嵌入式系统的组成一个完整的嵌入式系统由硬件和软件俩部分组成,其中硬件系统又可分为嵌入式微处理器、存储器和I/O等嵌入式外部设备俩部分,软件系统又可分为嵌入式操作系统和嵌入式应用程序两部分,如图所示。嵌入式应用程序嵌入式软件嵌入式操作系统嵌入式硬件微处理器外设图3.嵌入式系统的组成结构目前基于各种嵌入式处理器的硬件平台已经有了比较成熟的技术,同时嵌入式操作系统屏蔽了底层硬件的复杂性,使得开发者通过操作系统提供的接口函数就可以完成大部分工作,因此大大简化了嵌入式系统的开发过程,使得嵌入式系统开发者可以从设计硬件的开发平台中解脱出来,将主要精力放在实现特定的应用程序上。3.音频系统的硬件设计3.1音频系统硬件设计框架本次设计选用飞凌OK6410开发板为硬件平台。该开发板采用了基于ARM11内核的三星公司设计研发的S3C6410为处理器,选用了WM9714L音频解码芯片,并使用Nand Flash存储器,配置Mobile DDR内存。音频系统的硬件设计框架如下图所示:图4.音频系统硬件框架3.2 OK6410开发板硬件结构飞凌OK6410开发板采用“核心板+底板”的结构,核心板尺寸规格为5cm6cm,底板尺寸为10.5cm14cm,核心板与底板之间采用4组高质量进口连接器(镍金工艺,接触好、抗氧化),共计320个引脚(804),方便客户进行二次开发,进行各种形式的扩展应用。OK6410开发板的设计严格按照CE、CCC等国内外电子产品认证标准,充分考虑高速信号的完整性等电磁兼容措施,确保OK6410开发板在严酷电磁环境下的可靠运行。OK6410的软件系统目前支持WinCE 6.0、 LINUX2.6.28、Android2.1以及uC/OS-II,提供标准板级支持包(BSP)并开放源码,其中包含了所有接口的驱动程序,客户可以直接加载使用。另外,该板可连接飞凌公司与之相配套使用的串口扩展板、WIFI模块、摄像头模块等。 此外,OK6410开发板上集成了多种高端接口,如复合视频信号、摄像头、USB、SD卡、液晶屏、以太网,并配备温度传感器和红外接收头等。飞凌OK6410开发板结构如图所示:图5.OK6410开发板硬件结构一个复位按键,采用专用芯片进行复位,稳定可靠;采用8位拨码开关设置系统启动方式 ;共4个串口,包括1个五线RS 232电平串口(DB9母座)和3个三线TTL电平串口(20pin 2.0mm间距插头座); 1个100M网口,采用DM9000AE,带连接和传输指示灯;1个USB HOST插口,支持USB1.1协议,可插鼠标、U盘等;1个USB Slave接口,支持USB2.0协议,使用mini-USB插座,可与PC连接; 1个高速SD卡座。可以实现SD Memory功能和SDIO功能;1个无线网卡(WIFI),该接口可复用为SD卡接口;3个3.5MM标准立体声音频插座。其中包括1个音频输出插座,可与耳机连接;1个话筒输入插座;1个线路输入插座; 触摸板接口支持4线电阻式触摸板;LCD接口支持3.5寸、4.3寸、5.6寸、5.7寸、7寸、8寸、10寸等TFT LCD,另外独家支持10寸LVDS液晶屏; 1路CVBS输出接口(PAL / NTSC);1个CMOS摄像头接口,支持ITU-RBT601/656 8位模式,使用10*2插针连接器; 内部实时钟,带有后备锂电池座,断电后系统时间不丢失; 1个JTAG接口,使用102插针连接器;1个单线数字式温度传感器(DS18B20);1个红外接收头;4个LED;1个蜂鸣器;3个102插针扩展口。其中,一个扩展口包括1路GND、1路DA、8路、AD、10路IO、1路SPI;另一个扩展口用来扩展88矩阵键盘;第三个扩展口可连接3个TTL电平串口和6路IO(注:3个串口中,包括1个五线串口和2个三线串口);3.3ARM简介随着微电子技术的快速发展,ARM处理器经历了包括ARM7、ARM9在内的多个发展历程,而ARM11的成熟应用必将为嵌入式的发展带来新的活力,使更高端的产品应用成为可能。与ARM9的5级流水线相比,ARM11拥有一条具有独立的load-store和算术流水的8级流水线,在同样工艺下,ARM11处理器的性能与ARM9相比大约提高了40%。ARM11执行ARMv6架构的指令,ARMv6指令包含了针对媒体处理的单指令流多数据流(SIMD)扩展,采用特殊的设计,以改善视频处理性能。为了能够进行快速浮点运算,ARM11增加了向量浮点单元。所有这些结构上的提高,都是ARM9处理器不可比拟的。ARM11为便携式和无线应用,提供了从未有过的高超性能,并且使我们主要关心的成本和功耗减到最小。ARM11的微架构保证了系统性能可以从基本的350-500MHz范围扩展到最终的1GHz以上。其微架构的高效率表现,允许开发者根据不同的应用来调节时钟频率和电源电压,从而在性能和功耗之间达到最佳的折衷。例如,一个基于ARM11的微架构的处理器在1.2V工作电压下,使用0.13um工艺实现,其功率将不会超过0.4mW/MHz。ARM11微处理器是一种高性能、低功耗的准64位微处理器!对于目前大多数嵌入式应用,一个真正的64位处理器仍然被认为是不必要的,其巨大的功耗和面积让人难以接受。对此,ARM11选择了一个折中的方案,以较小的代价,部分实现了一个64位微架构。ARM11只在处理器整数单位和高速缓存之间,以及在整数单位和协处理器之间实现了64位数据总线。这些64位数据道路允许处理器在一个时钟周期中同时获取两条指令,还允许在一个时钟周期执行多个数据读写指令。这使得ARM11在执行很多特定序列的代码时能够达到非常高的性能,特别是那些允许数据搬移与数据处理并行处理的代码序列。3.4 S3C6410处理器特性S3C6410是由Samsung公司推出的一款低功耗、高性价比的RSIC处理器,它基于ARM11内核(ARM1176JZF-S),可广泛应用于移动电话和通用处理等领域。S3C6410为2.5G和3G通信服务提供了优化的硬件性能,内置强大的硬件加速器:包括运动视频处理、音频处理、2D加速、显示处理和缩放等;集成了一个MFC(Multi-Format video Codec)支持MPEG4 /H.263/H.264编解码和VC1的解码,能够提供实时的视频会议以及NRSC和PAL制式的TV输出;除此之外,该处理器内置一个采用最先进技术的3D加速器,支持OpenGL ES 1.1/ 2.0和D3DM API, 能实现4M triangles/s的3D加速;同时,S3C6410包含了优化的外部存储器接口,该接口能满足在高端通信服务中的数据带宽要求。由于以上突出的性能表现,著名的苹果公司手机IPHONE就是基于S3C6410处理器。S3C6410处理器架构如图所示:图6. S3C6410处理器S3C6410处理器采用ARM1176JZF内核,包含了16位的指令数据cache和16位的指令数据TCM,可达到533MHz的主频,另外这个内核通过AXI/AHB和APB组成64/32位的内部总线和外部模块相连。 RTC:实时时钟,需外接一个32.768K的时钟,支持时间格式是BCB码格式,年/月/日/时/分/秒。 3个PLL分别对AHB/ AXI /APB相连的模块提供时钟,还有ARM内核的系统时钟以及特殊外设的时钟。支持定时器,其中定时器0和定时器1有PWM的输出功能,其他定时器没有输出引脚,只能作为内部定时器。Watch Dog看门狗可以当做一个16位内部定时器,支持4个DMA控制器,每个定时器包含8个通道,支持32位传输。Keypad(88)矩阵键盘,是硬件控制,可以和GPL复用,每次抬起和按下都会产生一个矩阵键盘的中断供系统使用。外围借口 GPLO:通用输出接口,引脚达到423个而芯片只有13*13毫米,集成度非常高。音频接口支持I2S,AC97&PCM方式输出音频,还有俩路I2C,4路UART,其中第四路支持1.1协议的红外8路12位的ADC采集器,2路全功能的SPI接口,8KB DPRAM的Modem接口,USB OTG接口支持2.0协议,最高运行速度可达480Mbps。USB Host接口支持1.1协议,高速MMC。另外多媒体的一些功能,是S3C6410的一个亮点。外接Camera接口,视频编解码(支持视频H264/MPEG4/VC1编解码方式),支持NTSC、 PAL的TV输出接口,支持JPEG的编解码功能 ,2D图形加速,3D图形加速,支持图像处理模块。存储器系统:支持SRAM/ROM/NOR Flash及三星独自推出的OneNand,内存方面支持Mobile SDRAM 和DDR SDRAM,在Nand Flash方面支持MLC的Nand Flash ,TFT控制器。3.5WM9714L音频芯片WM9714L是为移动计算和通信而设计一个高度集成的输入/输出设备。该芯片支持双编解码器操作,通过AC交流链路接口支持Hi-Fi高保真立体声编解码器功能。此外,支持的语音编解码功能,还有PCM型同步串行端口(SSP)功能。同时,辅助DAC提供和不同的采样率的主解码器以支持管理铃声或手机铃声。该设备可以直接连接到单声道或立体声麦克风,立体声耳机和立体声扬声器,减少系统中的元件总数。可用于无线耳机,扬声器和话筒,节省成本和电路板面积。此外,多个模拟输入和输出引脚提供无缝集成模拟连接的无线通信设备。所有设备功能的访问和控制通过一个单一的ac-link接口兼容AC97标准。24.576 MHz的主时钟可直接输入或从13MHz(或其他频率)的片上PLL时钟内部生成。WM9714L芯片的工作电源电压为1.8V到3.6V,芯片的每个部分可以在软件控制下供电以节省电力。该芯片封装规格为77mm,适合应用在手持便携式系统。图7.WM9714L block diagramline output:图8.line outputTypical output configurations:图9.typical output configurations4.音频系统软件开发4.1音频系统软件开发流程音频系统应用开发流程示意图如下所示:图10.软件开发流程图音频系统的软件设计选择了android操作系统作为软件平台。根据系统的具体要求,需要进行开发系统环境的搭建。设计中采用eclipse进行实施开发,运用java语言编程设计。具体过程如下:1.android环境的搭建,android sdk下载,sclipse下载,java jdk下载。2.在pc机上运用eclipse,进行开发编程设计3.编译成功后,现在pc机上仿真模拟。4.完成后再在开发板上进行实施。4.2 android操作系统原理4.2.1 android 定义Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年2月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。 4.2.2 android的发展历史2007年11月5日,Google发布了基于Linux平台的开源移动手机平台 -Android。该平台由操作系统、中间件、用户界面和应用软件等组成,号称是首个为移动终端打造的真正的开放的移动开发平台。 2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款Google手机 - T-Mobile G1。该款手机为中国台湾宏达电代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率为7.2Mbit/s,并支持Wi-Fi无限局域网络。 Google与开放手机联盟(Open Handset Alliance)合作开发了Android移动开发平台,这个联盟由摩托罗拉、高通、宏达电和T-Moblie、中国移动等在内的30多家移动通讯领域的领军企业组成。Google与运营商、设备制造商、开发商和其他第三方结成了深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 Android作为Google企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户从未使用过任何基于Android的移动通讯设备,Google的目标是让移动通讯不依赖于设备甚至平台。处于这个目的,Android将补充而不会代替Google长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发即有用又有吸引力的移动服务,并推广这些产品。4.2.3android的应用开发前景进入2010年之后,Android的应用开发进入了一个爆炸式增长的状态,从去年的不到1万款应用程序增加到现在的9万,而且即将突破10万,这也从开发者这一方面展现了用户不断增多的现象。不过需要注意的是,虽然数值的增长速度很快,开发公司还得做好相关的审查工作,尽快提高 Android电子市场整体的应用质量,改善应用的盈利环境。 随着高配置Android手机的上市,全3D手机游戏也将会在更多的手机上运行,而Android 2.2版系统也将会给低配置手机带来效能上的提升,开发公司也公布了更多的新API给开发者使用,这也保持了其应用持续增长的趋势。4.2.4 android应用开发工具1.安装JDK ,2.下载 android sdk ,3.eclipse4.3音频系统软件开发方法4.3.1 创建个人audioplay图11 audioplay的创建4.3.2 播放组件定义播放组件名字的定义,在strings.xml 进行图12Strings 的编程4.3.3 软件布局设计对软件进行布局设计,在main.xml 编程设计图13 Main 编程4.3.4 src文件编程设计然后对src文件夹进行编程设计,4.3.5 模拟仿真运行Android后,出现如上界面,输入音乐文件的名称,搜索到文件,点击播放,暂停,继续,重播,停止。图14 模拟仿真4.4音频系统相关流程与程序音频系统程序首先要编写音频程序来完成对音频波形的获取,其对应的流程图如下:图15.音频采集流程图音频播放流程图如下:图16.音频播放流程图主要程序函数如下:1 控件的设置Hello World, PlayActivity! 音乐播放器 音乐文件 播放 暂停 重播 停止 继续2 开始播放filename = filenameText.getText().toString();/先得到文本框中的内容Button button = (Button) v;/得到button try switch (v.getId() /通过传过来的Buttonid可以判断Button的类型case R.id.play:/播放play();3 暂停,继续播放case R.id.pause:if(mediaPlayer.isPlaying()mediaPlayer.pause();button.setText(R.string.continue1);/让这个按钮上的文字显示为继续elsemediaPlayer.start();/继续播放button.setText(R.string.pause);4重播case R.id.reset:if(mediaPlayer.isPlaying()mediaPlayer.seekTo(0);/让它从0开始播放elseplay();/如果它没有播放,就让它开始播放5 停止case R.id.stop:if(mediaPlayer.isPlaying() mediaPlayer.stop();/如果它正在播放的话,就让他停止 5.音频系统集成与测试5.1需要的PC环境和软硬件PC环境:最好是Windows XP系统,一定要安装版或正版,不要选择ghost版,否贼安装以后编译时会出现许多莫名其妙的错误,Windows 7或Vista也可以,但需要额外安装补丁。硬件:飞凌OK6410开发板软件:java以及补丁,android以及补丁。5.2集成开发环境下载可按照android的应用程序开发宝典进行(1)Java jdk下载 (2)eclipse下载 (3)android sdk下载(4)安装USB驱动 5.3集成开发环境安装5.3.1 Java Jdk的安装JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在Windows上安装JDK非常简单,访Oracle官方网站下载页面,网址为 FilesJavajdk1.6.0_26(安装路径classpath=.;%JAVA_HOME%lib修改环境变量PATH,在前面加上:%JAVA_HOME%bin;在进行测试查看JAVA版本,从命令行输入:java version5.3.2 eclipse 安装进入该网页: http:/www.eclipse.org/downloads/我们选择第一个(即eclipse IDE for java EE Developers) 5.4音频程序加载方法. 解压到C:Program FilesJavajre6的目录下,双击eclipse目录下eclipse.exe就可以打开eclipse了,打开eclipse设置工作空间为:C:Program FilesJavajre6eclipseworkspace选中复选框:。Use this as default .一路next下去。5.3.3 android sdk 安装从Google 官网下载sdk,下载地址为下载完成后得到一压缩包。解压到某一目录,如C:Program FilesJavaandroid-sdkwindows下载下来的并不是真正的SDK,准确的说是一个SDK 下载安装器。打开SDK Manager.exe,如果你的电脑不支持https ,则必须到settings 里把Force https.http:这一项勾上。选择Available packages,根据你的需要选择安装包。在这里一定要选择上Google USB driver packages,这个包连接我们开发板的USB 驱动。下载完成后会在Installed packages 下面有你下载好的sdk 包。在android-sdkwindowsplatform-tools 目录下有我们用的adb 工具,所以我们要把这个路径加入到PATH环境变量中去,我的电脑-属性-高级选项卡,选择环境变量,在系统变量中找到PATH 编辑,把ADB 所在路径加入进去,注意:要与前边的环境变量用分号隔开。笔者的路径为C:Program FilesJavaandroid-sdkwindowsplatform-tools,把这个路径加入到PATH 这个环境变量中。重新启动电脑,这样我们就可以在命令行下直接使用ADB 命令了。因为Google 官方没有提供Android2.3.4 的SDK,所以我们还需要将我们在LINUX 环境下编译好的平台放到SDK 目录下的platforms 下,将linux 下SDK 目录platforms 下android-2.3.4复制到windows 的SDK 的platforms 下。打开eclipse,Window-Preferences-Android-SDK Location 中找到sdk 所在位置。最后完成。5.3.4 驱动USB安装将装有Android开发板的USB OTG与电脑相连,由于官方给出的USB驱动不能直接安装,我们需要将其中的配置文件做一些改动。在我们的SDK 目录下android-sdkwindowsextrasgoogle有usb_driver文件夹,这是我们与开发板相连的USB驱动。用记事本打开android_winusb.inf ,找Google.NTx86在Google.NTx86后加上如下语句:;OK6410_2011M04%SingleAdbInterface% = USB_Install, USB/VID_18d1&PID_4e12%CompositeAdbInterface% = USB_Install, USB/VID_18d1&PID_4e12&MI_01在Google.NTamd64加上如语句;OK6410_2011M04%SingleAdbInterface%USB_Install,USB/VID_18d1&PID_4e12%CompositeAdbInterface% = USB_Install, USB/VID_18d1&PID_4e12&MI_01OK6410 开发板的设备VID 为18d1,PID 为4e12,这两个参数在设备详细信息里边可以找到,VID 是设备厂商号,PID 为设备号。我的电脑右键-管理-设备管理器,在其它设备中有一个OK6410,右键-属性-详细信息中可以看到我们要看到VID和PID。下面开始安装USB 驱动,在OK6410 右键-更新驱动程序浏览选择USB 驱动所在目录,点“下一步”就可以完成USB 驱动的安装了。打开电源,在开始-运行中输入cmd 回车,在命令行下输入adb devices 就可以看到我们的设备了。这说明我们的ADB 调试环境已经搭建好了。5.4音频程序加载方法5.4.1.编译程序步骤1.打开eclipse,创建工程文件,2.选择android project,输入project name , next,3.选择android 版本,next ,4.修改Package Name ,Finish ,5.创建成功个人模板,6.然后分别在strings.xml , main.xml , nzhActivity.java 里进行编程设计,7.编好代码之后,没有错误,右击创立的文件 run as - android application 。5.4.2程序放到开发板的方法1.通过U盘,将U盘插入开发板相应端口中,打开我的设备,找到”硬盘”,该文件夹就是U盘2.通过SD卡,将SD卡插入开发板,打开我的设备,找到starage card文件夹,打开就是SD里的内容。3.通过USB同步,首先要安装AcitiveSync同步驱动软件,android系统启动后,插入usb(OTG)接口,PC机会提示安装驱动,选择光盘中的”CE同步驱动”,安装好驱动后,Sync图标会变绿,完成安装后,点击浏览,将应用程序拷贝到我的设备文件夹下,等同于拷贝到开发板中。5.5音频系统测试5.5.1模拟器仿真方法1.打开eclipse;2.右击自己创建的文件夹 run as -android application ;android模拟器如下图:图17.android模拟器5.5.2测试结果在开发板上的演示结果图18 开发板图图19 演示结果结论 对于本人来说,这次的毕业设计基本上就是一次学习的过程。无论是Android还是JAVA,之前在学习期间都没有接触过。在开始做毕业设计的时候根本不知道该如何下手,经过不断的查阅和搜集资料,慢慢地对android有所了解,基于android的音频系统是用java来进行编程设计的。由于学习期间没有接触过这类语言,不断在网上搜索学习资料文章,阅读学习之后对编程规范基本掌握。大致的思路有了以后就开始设计。当然,设计中也出现了以前从未涉及过的问题,在编程设计程序的时候不停地出现错误,一个个的红色叉号是那么的醒目,那么的揪心,在网上不停搜索相关的错误解决方案,和同学探讨,分析,把代码放入程序中不停地尝试,整个过程虽然很辛苦,但是痛并快乐着,程序错误解决时那一刹那的痛快,到现在还历历在目。设计完成之后,还需考虑如何让仪器与计算机建立会话。飞凌开发板的应用,也要通过学习才能了解。下载开发板程序,调试,最后实现在开发板上完美的呈现出自己的成果。经过此次毕业设计对android 有了新的了解。Android功能的强大和运用的方便将会在今后的市场起到越来越主导的作用。致谢参考文献1张大波. 嵌入式系统原理设计与应用M,出版社:北京机械工业出版社,出版时间:2005年2 周立功等. ARM处理器基础与实践M,出版社:北京航空航天大学出版社,出版时间:2003年3 Bruce Eckel .Java编程思想 (第4版) M,出版社:机械工业出版社,出版时间:2006年7月4柯元旦.Android程序设计M.出版社:北京航空航天大学出版社,出版时间:2010-7-15Kathy Sierra , Bert Bates . Head First JavaM,出版社:中国电力出版社,出版时间:2005年2月6陈璟; 陈平华; 李文亮 . Android内核分析M 刊名: 现在计算机(专业版) 发表时间2009年11月7白璐; 李国民 Android系统WMA文件播放功能的设计与实现M 刊名:电子科技 发表时间2011年8月发表附件(strings.xml) Hello World, PlayActivity! 音乐播放器 音乐文件 播放 暂停 重播 停止 继续(main.xml) Button android:layout_width=wrap_content android:layout_height=wrap_content android:text=string/play androi
展开阅读全文