基于 Linux 的 Mplayer 的控制.doc_第1页
基于 Linux 的 Mplayer 的控制.doc_第2页
基于 Linux 的 Mplayer 的控制.doc_第3页
基于 Linux 的 Mplayer 的控制.doc_第4页
基于 Linux 的 Mplayer 的控制.doc_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科学生毕业论文(设计)题目(中 文):基于 linux 的 mplayer 的控制(英 文):the control of mplayerbased on linux system姓 名 学 号 院 (系)电子工程系专业、年级电子信息工程 级指导教师 ii湖南科技学院本科毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业论文(设计)作者签名: 年 月 日o 毕业论文(设计)任务书课题名称:基于linux的mplayer的控制学生姓名: 系 别:电子工程系专 业:电子信息工程指导教师: 湖南科技学院本科毕业论文(设计)任务书1、主题词、关键词: mplayer、 开源、 linux、 多线程2、毕业论文(设计)内容要求:搭建linux操作系统环境平台,将编写好的代码烧写到cortex a8开发板上,实现对开源工程mplayer 进行控制,并在液晶屏上显示,可通过触摸屏和按键实现音乐播放器的功能。具体要求如下:(1)显示部分: 1显示歌曲信息; 2显示同步歌词; 3显示歌曲列表; 4 .实现歌曲播放进度条; 5 .实现音量条的同步变化。(2)按键部分:上一曲、下一曲、暂停、静音、快进、快退。(3)触摸屏部分:点击歌曲名播放、暂停、静音、快进、快退。3、文献查阅指引:1 stepphen pratalearning the vi editor,sixth editionmoreilly,20042 宋劲杉linux c编程一站式学习m北京亚嵌教育研究中心,20093 陈健,宋健建linux程序设计(第四版)m北京:人民邮电出版,20104 於锋linux多线程设计思维j单片机与嵌入式系统应用,2012,3:11-135 李善平,施韦,林欣linux 教程m北京:清华大学出版社,20056 凌阳教育凌阳教育cortex a8使用说明书m北京凌阳爱普,20127 凌阳教育arm版本mplayer实验指导书m北京凌阳爱普,20128 christopher neguslinux bible,2005 edition mwiley,20059 尤晋元,张亚英unix环境高级编程m北京:人民邮电出版社,200610 韦东山嵌入式linux应用开发完全手册m北京:人民邮电出版社,20084、毕业论文(设计)进度安排:2012年11月:确定论文题目,查找资料,准备开题;2012年12月: 论文开题;2013年1月:翻阅资料并记录与论文研究方向相关的要点和论据;2013年2月:完成资料的搜集,动笔撰写论文稿;2013年3月:对论文初稿进行进一步的整理,逐步定稿;2013年4月:充实和完善论文内容,交由指导老师评阅并最终定稿;2012年5月:完成毕业论文答辩。教研室意见: 负责人签名: 注:本任务书一式三份,由指导教师填写,经教研室审批后一份下达给学生,一份交指导教师,一份留系里存档。湖南科技学院本科毕业论文(设计)开题报告书论文(设计)题目基于linux的mplayer的控制作 者 姓 名鲍志海所属系、专业、年级 电子工程系 电子信息工程专业 2009年级指导教师姓名、职称杨熙 讲师预计字数10000开题日期2012.12.26选题的根据:1)说明本选题的理论、实际意义2)综述国内外有关本选题的研究动态和自己的见解mplayer的开发始于2000年。最初的作者是 arpad gereoffy ,因为本身是一款开源软件,此后便有众多的开发者加入进来。mplayer作为一款开源多媒体播放器,以gnu通用公共许可证发布。mplayer可在各主流作业系统使用,例如linux和其他类unix系统、微软的视窗系统及苹果电脑的mac os x系统。mplayer是建基于命令行界面,在各作业系统可选择安装不同的图形界面。mplayer的另一个大的特色是广泛的输出设备支持。它可以在x11、xv、dga、opengl、svgalib、fbdev、aalib、directfb下工作。目前市场上,多媒体播放器层出不穷。从开始只能欣赏音乐的mp3已经发展成能够播放多种视频、音频格式的mp4、mp5等多功能的多媒体播放器。其中,mp5播放器就是采用了软硬协同多媒体处理技术,第一个将arm平台应用应用于手持多媒体终端,主频可达1ghz。而mplayer作为gnu许可的一款开源软件,功能愈加强大,并且适于移植到嵌入式平台上。“以应用为中心、软硬件可剪裁的、适应于应用系统”,这一嵌入式的概念将是极富前景的的。本论文,以cortex a8 开发板为搭载平台,实现对开源可执行程序mplayer的控制。在window 下用虚拟机,安装linux(ubantu) 系统,使用xshell、samba 实现window与linux 系统的通信。在电脑上编写好代码,在linux下使用交叉编译器(armlinuxgcc)烧写到已经安装了linux内核 的cortex a8的开发板上。通过管道对mplayer发送命令,并接受其反馈信息,在开发板液晶屏上显示出来,通过按键和触屏实现对mplayer的音乐播放功能。该系统的特点是:界面友好,操作简单,满足用户的视听之娱。主要内容:编写一款mp3音乐播放器,实现音乐的播放、控制功能。(1)根据设计要求,进行方案的论证,确定设计方案和总体框架; (2)硬件设备的选择和软件设计;(3)软件调试、系统测试以及测试结果分析。研究方法:(1)文献法。通过查找资料、文献、论文等,借鉴前人研究成果以指导研究,夯实研究的理论基础。(2)经验总结法。将以前世人研究出的内容、网上发表的文章加以归纳,进行综述,撰写相关的应用性论文。(3)实验法。通过软件仿真与调试,验证设计效果。完成期限和采取的主要措施: 完成期限:2013年1月到2013年5月主要措施:严格遵照湖南科技学院毕业论文(设计)工作管理办法的指示精神,结合个人的实际情况,完成这项设计所采取的主要措施有两条:一是密切联系。联系本组设计成员及毕业设计指导导师,寻求有关毕业设计信息,确定设计课题方向与设计内容;二是虚心学习。利用课余时间到图书馆和网络上查阅资料,并虚心向老师请教和同学进行学习交流,保障毕业设计的顺利完成。主要参考资料: 1 stepphen pratalearning the vi editor, sixth editionmoreilly,20042 宋劲杉linux c编程一站式学习m北京亚嵌教育研究中心,20093 陈健,宋健建linux程序设计(第四版)m北京:人民邮电出版 20104 於锋linux多线程设计思维j单片机与嵌入式系统应用,2012,3:11-135 李善平,施韦,林欣linux 教程m北京:清华大学出版社,20056 凌阳教育凌阳教育cortex a8使用说明书m北京凌阳爱普,20127 凌阳教育arm版本mplayer实验指导书m北京凌阳爱普,20128 christopher neguslinux bible,2005 edition mwiley,20059 尤晋元,张亚英unix环境高级编程m北京:人民邮电出版社,200610 韦东山嵌入式linux应用开发完全手册m北京:人民邮电出版社,2008指导教师意见:指导教师签名: 教研室意见:签 名: 年 月 日开 题 报 告 会 纪 要时间2012年 12 月25 日地点三教608与会人员姓 名职务(职称)姓 名职务(职称)姓 名职务(职称)谭永宏副教授李春树教授李小武副教授廖朝阳讲师杨熙讲师李艳芳副教授会议记录摘要:1.mplayer这款软件较之于市场上众多的多媒体播放器具有什么特点和优势? 答:首先,mplayer作为一款开源软件,几乎每个月都有新的版本在开源社区发布,可以说是与时俱进,有各种版本,而且免费或者说价格便宜,这样它就具有很大的市场。其次,mplayer的软件移植性好,可以在各大主流操作系统运行。最后,mplayer支持多种音频、视频格式,兼容性强。 2.cortex a8开发板采用的是电容屏还是电阻屏,触屏的工作原理? 答:采用的是电容屏。在触摸屏四边均镀上狭长的电极,在导电体内形成一个低电压交流电场。在触摸屏幕时,由于人体电场,手指与导体层间会形成一个耦合电容,四边电极发出的电流会流向触点,而电流强弱与手指到电极的距离成正比,位于触摸屏幕后的控制器便会计算电流的比例及强弱,准确算出触摸点的位置。 3.你觉得自己在设计时,哪些地方最难?是怎么解决问题的? 答:我觉得:最难的地方就是软件中整体框架的搭建。思路真的很重要,框架清晰,写代码、调试都不是什么问题。问题的解决:我是在北京凌阳爱普培训时,那里的老师指导的,说实话我自己现在还没有能力去构架一款软件的能力。会议主持人:记 录 人:年 月 日指导小组意见负责人签名: 年 月 日系部 意 见负责人签名:年月日注:此表由学生本人填写,一式三份,一份留系里存档,指导老师和本人各保存一份湖南科技学院毕业论文(设计)中期检查表毕业论文(设计)题 目 基于linux 的mplayer 的控制学生姓名鲍志海学 号200906002406系 别电子工程系专 业电子信息工程指导教师杨 熙检查日期2013.4.8指导教师检查情况记载及修改意见:检查情况记载: 1.进行了资料的整理,学习和掌握相关知识; 2.完成了在虚拟机中 ubuntu 环境平台的搭建与cortex a8开发板的通信; 3.软件设计大部分已经完成; 4.论文大部分内容已经完成;5.理论知识稍有欠缺。修改意见: 1.程序需要的进一步调试和优化; 2.摘要内容应包括研究的目的、方法、结果和结论,要突出所做的工作及做的效果;3.参考文献按学校的规范书写论文,并在论文中标明;4.创新功能可以适当增加; 5.注意规范流程图的画法。签名: 注:此表用于指导教师在学生毕业论文(设计)初稿完成后对学生执行任务书情况进行中期检查时用,由指导教师填写。湖南科技学院毕业设计(论文)指导过程记录表毕业论文(设计)题目基于linux 的 mplayer的控制学生姓名鲍志海学号200906002406专业班级电子信息工程0904班指导教师杨 熙职称讲师系(教研室)电子工程系指导过程记录指导内容记录(一)选题指导: 给出论文研究方向的建议,提出将个人能力和社会需要相结合,开展富有意义的研究课题。学 生 签 名: 2012 年 11 月10 日 指导教师签名: 2012 年 11 月10 日指导内容记录(二)查阅资料指导:1、指导查如何阅文献资料并充分利用网络资源。2、推荐相关文献和科技期刊学 生 签 名: 2012 年11 月20 日 指导教师签名: 2012 年11 月20 日指导内容记录(三)论文开题指导:指导开题中应该包含的内容和整体框架思路的构建,提出今后要多加注重相关理论知识的补充。学 生 签 名: 2012年12月 20 日 指导教师签名: 2012年12月 20 日指导内容记录(四)论文写作指导: 指导规范论文格式,并指出目录的质量直接对论文整体质量的影响。注意流程的规范和清晰。学 生 签 名: 2013 年2 月26 日 指导教师签名: 2013 年2 月26 日指导过程记录指导内容记录(五)论文设计指导:指导系统的软件设计,根据系统功能的要求,建议采用模块化程序设计。具体怎样分块及大致控制流程。学 生 签 名: 2013年3 月 9 日 指导教师签名: 2013年3 月 9 日指导内容记录(六)论文初稿修改指导:1注意软件部分中函数封装性的构建;2软件部分中相关理论需要适当补充;3软件测试要尽可能考虑各种情况。学 生 签 名: 2013年4月 5 日 指导教师签名: 2013年4月 5 日指导内容记录(七)论文定稿修改指导:1.指导修改参考文献的格式;2.论文框架结构个别调整。学 生 签 名: 2013 年4 月25 日 指导教师签名: 2013 年4 月25 日指导内容记录(八)论文答辩指导:论文终稿审阅,指导摘要、英文翻译及答辩ppt的制作。学 生 签 名: 2013年 5月6 日 指导教师签名: 2013年 5月6 日答辩小组组长意见(对情况是否属实做出意见)组长(签名): 20 年 月 日注:本表与毕业论文一起装订存档。湖南科技学院本科毕业论文(设计)评审表论文题目基于linux 的 mplayer 的控制作者姓名鲍志海所属系、专业、年级电子工程 系 电子信息工程 专业 2009年级指导教师姓名、职称杨 熙 讲师字 数10000定稿日期2013. 5 .8中文摘要在物质财富日益丰富的今天,人们越来越注重精神方面的享受。而今,作为人们繁忙之余的精神栖所,我们的生活已经离不开音乐。mplayer作为一款精简而强大的音乐播放器,已经植入到windows,mac,linux 以及类unix等诸多操作系统中,为人们提供便捷、易行的娱乐之道。 本论文设计了一款基于cortex a8开发板,在linux环境下开发、运行的音乐播放器软件。通过“管道”对开源工程mplayer(可执行代码)进行读、写控制,再由mplayer控制音频设备输出。同时,并发执行多线程任务,实时监测开发板的按键和触摸屏设备,轻松实现歌曲切换、音量调节、快进、快退等功能,并且在液晶屏上同步显示当前播放歌曲信息和歌词,给用户以优质的体验和身心的放松。关键词(3-5个)mplayer 开源 linux 多线程 英文摘要nowadays, with the rapid development of material wealth, people pay more and more attention to spiritual enjoyment. now, music, as a spiritual habitat of these busy people, has become inseparable from our life. mplayer, as a precise and powerful music player, has been implanted into a series of operating systems like mac, linux and unix, which provides a convenient and easy way of entertainment for people. this thesis designs music player software which is based on cortex a8 development board and operated under the environment of linux. though the pipe, people can make reading and writing control to the open source project mplayer, then it can control the output of audio equipment. at the same time, it can execute multithreading tasks and supervise the key of development board and the equipment of touch screen. it also can switch songs easily, control the volume, fast or slow down the speed of the song in a easy way. whats more, it can reveal the information and the words of the song on the liquid screen at the same time. in this way, users can enjoy themselves physically and mentally.关键词(3-5个) mplayer opensoure linux multithreading 指导教师评定成绩评审基元评审要素评审内涵满分指导教师实评分选题质量25%目的明确符合要求选题符合专业培养目标,体现学科、专业特点和教学计划的基本要求,达到毕业论文(设计)综合训练的目的。10理论意义或实际价值符合本学科的理论发展,有一定的学术意义;对经济建设和社会发展的应用性研究中的某个理论或方法问题进行研究,具有一定的实际价值。10选题恰当题目规模适当,难易度适中;有一定的科学性。5能力水平40%查阅文献资料能力能独立查阅相关文献资料,归纳总结本论文所涉及的有关研究状况及成果。10综合运用知识能力能运用所学专业知识阐述问题;能对查阅的资料进行整理和运用;能对其科学论点进行论证。10研究方案的设计能力整体思路清晰;研究方案合理可行。5研究方法和手段的运用能力能运用本学科常规研究方法及相关研究手段(如计算机、实验仪器设备等)进行实验、实践并加工处理、总结信息。10外文应用能力能阅读、翻译一定量的本专业外文资料、外文摘要和外文参考书目(特殊专业除外)体现一定的外语水平。5论文质量35%文题相符较好地完成论文选题的目的要求。5写作水平论点鲜明;论据充分;条理清晰;语言流畅。15写作规范符合学术论文的基本要求。用语、格式、图表、数据、量和单位、各种资料引用规范化、符合标准。10论文篇幅10000字左右。5实评总分 成绩等级 指导教师评审意见: 指导教师签名: 说明:评定成绩分为优秀、良好、中等、及格、不及格五个等级,实评总分90100分记为优秀,8089分记为良好,7079分记为中等,6069分记为及格,60分以下记为不及格。评阅教师评定成绩评审基元评审要素评审内涵满分评阅教师实评分选题质量25%目的明确符合要求选题符合专业培养目标,体现学科、专业特点和教学计划的基本要求,达到毕业论文(设计)综合训练的目的。10理论意义或实际价值符合本学科的理论发展,有一定的学术意义;对经济建设和社会发展的应用性研究中的某个理论或方法问题进行研究,具有一定的实际价值。10选题恰当题目规模适当,难易度适中;有一定的科学性。5能力水平40%查阅文献资料能力能独立查阅相关文献资料,归纳总结本论文所涉及的有关研究状况及成果。10综合运用知识能力能运用所学专业知识阐述问题;能对查阅的资料进行整理和运用;能对其科学论点进行论证。10研究方案的设计能力整体思路清晰;研究方案合理可行。5研究方法和手段的运用能力能运用本学科常规研究方法及相关研究手段(如计算机、实验仪器设备等)进行实验、实践并加工处理、总结信息。10外文应用能力能阅读、翻译一定量的本专业外文资料、外文摘要和外文参考书目(特殊专业除外)体现一定的外语水平。5论文质量35%文题相符较好地完成论文选题的目的要求。5写作水平论点鲜明;论据充分;条理清晰;语言流畅。15写作规范符合学术论文的基本要求。用语、格式、图表、数据、量和单位、各种资料引用规范化、符合标准。10论文篇幅10000字左右。5实评总分 成绩等级 评阅教师评审意见: 评阅教师签名: 说明:评定成绩分为优秀、良好、中等、及格、不及格五个等级,实评总分90100分记为优秀,8089分记为良好,7079分记为中等,6069分记为及格,60分以下记为不及格。湖南科技学院本科毕业论文(设计)答辩记录表论文题目基于linux 的mplayer的控制作者姓名鲍志海所属系、专业、年级电子工程系 电子信息工程专业 2009年级指导教师姓名、职称杨 熙 讲师答 辩 会 纪 要时间2013年5月 18 日地点三教608答辩小组成员姓 名职务(职称)姓 名职务(职称)姓 名职务(职称)谭永宏副教授李春树教授李小武副教授廖朝阳讲师杨熙讲师李艳芳副教授答辩中提出的主要问题及回答的简要情况记录:答辩问题记录: 1.在你的软件设计中,多线程间是如何通信的? 答:线程间通信方式和进程间通信方式大致相同(管道、命名管道、信号、共享内存、消息队列和socket)。一方面,为了简化设计,我采用的是全局变量的方式(不是线程间特有的通信方式);另一方面,由于所用到的线程都是包含一个大while语句,为避免频繁读入全局变量,延时1s读取。 2.对mplayer发送的命令是如何组包的,具体是怎么实现的? 答:在软件设计部分,发送给mplayer的命令分两类:一类是固定格式的“字符串”;另一类是非固定格式:“字符创”+“数字”。前者写入一个字符串数组即可,后者则用一个字符串数组存储一部分命令,然后用sprintf函数与数字组合打包即可。 3.mplayer的信息反馈是怎么实现的? 答:mplayer的信息反馈是通过管道重定向实现的。通过修改文件描述符,将原本反馈到标准输出设备(显示器)的信息重定向到管道中。会议主持人:记 录 人:年 月 日答辩小组意见评语:评定等级: 负责人(签名): 年 月 日系学位委员会意见评语:论文(设计)最终评定等级:负责人(签名): 系部(公章) 年月 日校学位委员会意见评语:评定等级: 负责人(签名): 年月 日目 录 绪论11 系统方案的确定21.1 系统的功能需求分析21.2 系统方案的确定22 相关原理与技术42.1 samba原理42.1.1 samba概述42.1.2 samba工作原理42.2 linux下进程间的通信52.2.1 进程通信的目的52.2.2 linux 进程间的通信方式52.3 mplayer的简介72.3.1 概述72.3.2 工作模式73 系统硬件93.1 cortex a8开发板元器件93.1.1 主控芯片简介93.1.2 其他元器件简介93.2 音频输出接口与麦克风103.2 液晶显示屏103.3 物理按键114 系统的软件设计124.1 系统的主流程图124.2 主函数134.3 多线程154.3.1 按键控制线程154.3.2 触屏控制线程215 系统测试285.1 按键与触屏测试285.2 其他测试285.3 实际效果图28结论29参考文献30附录a:部分源代码31致 谢36基于linux的mplayer的控制摘 要在物质财富日益丰富的今天,人们越来越注重精神方面的享受。而今,作为人们繁忙之余的精神栖所,我们的生活已经离不开音乐。 mplayer作为一款精简而强大的音乐播放器,已经植入到windows,mac,linux 以及类unix等诸多操作系统中,为人们提供便捷、易行的娱乐之道。本论文设计了一款基于cortex a8开发板,在linux环境下开发、运行的音乐播放器软件。通过“管道”对开源工程mplayer(可执行代码)进行读、写控制,再由mplayer控制音频设备输出。同时,并发执行多线程任务,实时监测开发板的按键和触摸屏设备,轻松实现歌曲切换、音量调节、快进、快退等功能,并且在液晶屏上同步显示当前播放歌曲信息和歌词,给用户以优质的体验和身心的放松。【关键词】mplayer 开源 linux 多线程 the control of mplayer based on linux systemabstractnowadays, with the rapid development of material wealth, people pay more and more attention to spiritual enjoyment. now, music, as a spiritual habitat of these busy people, has become inseparable from our life. mplayer, as a precise and powerful music player, has been implanted into a series of operating systems like mac, linux and unix, which provides a convenient and easy way of entertainment for people. this thesis designs music player software which is based on cortex a8 development board and operated under the environment of linux. though the pipe, people can make reading and writing control to the open source project mplayer, then it can control the output of audio equipment. at the same time, it can execute multithreading tasks and supervise the key of development board and the equipment of touch screen. it also can switch songs easily, control the volume, fast or slow down the speed of the song in a easy way. whats more, it can reveal the information and the words of the song on the liquid screen at the same time. in this way, users can enjoy themselves physically and mentally.【key words】mplayer opensource linux multithreading 37绪论时下,音乐播放器已经成为人们娱乐活动中中不可或缺的必备品。 其历史更是可以追溯到1877年,爱迪生公开表演了留声机,“会说话的机器”诞生,立刻轰动了全世界。让动听的声音有了存储的载体,得以广泛的传播和分享。播放器是怎么从笨重的留声机演变到现在迷你外表却内存超大的便携式播放器呢?这都源于对于历代播放器技术的研究和积累,才有了新的成就。 mplayer是一款开源多媒体播放器,最开始在linux系统上使用,以gnu通用公共许可证发布1。mplayer 具有强大的可移植性,可在各主流作业系统使用,如mac、windows、linux和类unix系统。mplayer发展前期建基于命令行界面,后来在各作业系统可选择安装不同的图形界面。mplayer最大的特色是广泛的输出设备支持。它可以在x11、xv、dga、opengl、svgalib、fbdev、aalib、directfb下工作,而且也能使用ggi和sdl和一些低级的硬件相关的驱动模式。mplayer还支持通过硬件mpeg解码卡显示,诸如dvb 和dxr3与hollywood+2。因为其强大的输出设备支持和播放功能和音频支持,且内置多种解码器。而受到极客和一般用户的亲睐。目前,mplayer日益完善,功能愈加强大。因为其开源的特性,mplayer必将有更好的发展前景。mplayer与嵌入式系统的结合,而嵌入式已经越来越深入我们的生活。智能手机、mp3、mp4、平板电脑、智能家居嵌入式系统无处不在。本论文设计了一款,以cortex a8 开发板为硬件平台,实现对可执行程序mplayer的控制,将原本基于命令行的mplayer转换为一款界面生动、可通过按键和触屏操作的软件。因为播放器的开发是基于成熟的硬件平台,所以本论文的主要任务集中在软件部分的编写上。首先是环境的搭建:在window 下安装好虚拟机,在虚拟机下安装好ubantu系统(linux的一个版本),在windows下安装好xshell ,ubantu下安装好samba,就实现了两个操作系统间的通信。然后在windows环境中编辑代码,之后在虚拟机下用交叉编译器(armlinuxgcc)编译、烧写到已安装好linux内核的cortex a8开发板上,经过反复调试,最终完成了设计。软件实现的主要原理是:通过并发多线程任务,初始化cortex a8开发板上的设备,对按键和触摸屏进行实时检测,检测到有效信号后即发送相应的功能命令给mplayer的可执行程序,实现音乐播放器的功能,液晶屏上的信息也随之同步变化。另一方面,cpu甄别、接收mplayer反馈回来的信息也显示到液晶屏上。该软件的特点是:采用交互式的图形界面,操作简单。软件体积精简、可以根据用户需求适当剪裁、增删软件功能。具有良好的可扩展性和软件移植性。1 系统方案的确定1.1 系统的功能需求分析功能需求分析确定了系统必须完成哪些工作,提出了完整、准确、清晰和具体的要求,功能需求分析科学与否直接影响到后面各个阶段的设计,以及设计结果是否合理和实用3。 功能需求分析的任务是通过详细调查现实世界要处理的对象(音乐播放器等),通过明确用户的需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计系统。功能需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。所以必须用行之有效的方法对软件需求进行严格的审查验证。需求分析的具体任务有以下两方面。 (1)确定系统的综合要求。支持简单、友好的触屏界面控制,同时支持传统的实体键;支持开发人员根据客户需求对mplayer的个性化设定。 (2)分析系统的数据要求。从本质上而言,任何一个软件系统都是信息处理系统,系统必须处理的信息和系统对软件设计有深远影响。所以,必须对系统的数据需求做出正确的评估与分析。分析系统的数据要求通常采用建立概念模型的方法4。 软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库和文件中,为了减少数据条,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。 本设计所要实现的功能如下: 1.通过实体按键,实现歌曲的切换、音量调节、暂停、静音、快进、快退;2.通过触摸屏(单点触控),实现歌曲的切换、音量调节、暂停、静音、快进、快退,同时在液晶屏上同步显示当前播放歌曲信息和歌词。1.2 系统方案的确定系统设计回答的中心问题是“如何做”,即怎么实现功能需求分析说明书中所规定的系统功能。在这一阶段,要根据实际的技术条件、经济条件和社会条件,确定系统的实施方案,即系统的物理模型。如图1.1所示。cortex-a8实体键触摸屏mplayer显示屏音频输出 图1.1 系统设计框图2 相关原理与技术2.1 samba原理2.1.1 samba概述samba在linux和windows两个平台之间架起了一座桥梁,通过samba的我们可以在linux系统和windows系统之间互相通信,比如拷贝文件、实现不同操作系统之间的资源共享等等5。我们可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印。2.1.2 samba工作原理samba服务功能强大,这与其通信基于smb协议有关。smb不仅提供文件和打印机共享,还支持认证、权限设置。在早期,smb运行于nbt协议(netbios over tcp/ip)上,使用udp协议的137、138及tcp协议的139端口,后期smb经过开发,可以直接运行于tcp/ip协议上,没有额外的nbt层,使用tcp协议的445端口5。(1)samba工作流程当客户端访问服务器时,信息通过smb协议进行传输,其工作过程可以分成四个步骤:步骤1:协议协商客户端在访问samba服务器时,发送negprot指令数据包,告知目标计算机其支持的smb类型。samba服务器根据客户端的情况,选择最优的smb类型,并做出回应。步骤2:建立连接当smb类型确认后,客户端会发送session setup指令数据包,提交帐号和密码,请求与samba服务器建立连接,如果客户端通过身份验证,samba服务器会对session setup报文作出回应,并为用户分配唯一的uid,在客户端与其通信时使用。步骤3:访问共享资源客户端访问samba共享资源时,发送tree connect指令数据包,通知服务器需要访问的共享资源名,如果设置允许,samba服务器会为每个客户端与共享资源连接分配tid,客户端即可访问需要的共享资源。步骤4:断开连接共享使用完毕,客户端向服务器发送tree disconnect报文关闭共享,与服务器断开连接。(2)samba相关进程samba服务是由两个进程组成,分别是nmbd和smbd。nmbd:其功能是进行netbios名解析,并提供浏览服务显示网络上的共享资源列表6。smbd:其主要功能就是用来管理samba服务器上的共享目录、打印机等,主要是针对网络上的共享资源进行管理的服务。当要访问服务器时,要查找共享文件,这时我们就要依靠smbd这个进程来管理数据传输。2.2 linux下进程间的通信2.2.1 进程通信的目的数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几m字节之间。共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。资源共享:多个进程之间共享同样的资源。为了作到这一点,需要内核提供锁和同步机制。进程控制:有些进程希望完全控制另一个进程的执行(如debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。2.2.2 linux 进程间的通信方式早期unix进程间通信、基于system v进程间通信、基于socket进程间通信和posix进程间通信7。unix进程间通信方式包括:管道、fifo、信号。system v进程间通信方式包括:system v消息队列、system v信号灯、system v共享内存、posix进程间通信包括:posix消息队列、posix信号灯、posix共享内存。现在linux使用的进程间通信方式:管道(pipe)和有名管道(fifo)信号(signal)、消息队列、共享内存、信号量、套接字(socket)。本文中使用了多种进程通信方式,下文仅对使用到的进程通信方式加以概述。一、管道(pipe)普通的linux shell都允许重定向,而重定向使用的就是管道。例如:ps | grep vsftpd。管道是单向的、先进先出的、无结构的、固定大小的字节流,它把一个进程的标准输出和另一个进程的标准输入连接在一起8。写进程在管道的尾端写入数据,读进程在管道的道端读出数据。数据读出后将从管道中移走,其它读进程都不能再读到这些数据。管道提供了简单的流控制机制。进程试图读空管道时,在有数据写入管道前,进程将一直阻塞。同样,管道已经满时,进程再试图写管道,在其它进程从管道中移走数据之前,写进程将一直阻塞。管道主要用于不同进程间通信。二、命名管道(fifo)命名管道和一般的管道基本相同,但也有一些显著的不同:命名管道是在文件系统中作为一个特殊的设备文件而存在的。不同祖先的进程之间可以通过管道共享数据。当共享管道的进程执行完所有的i/o操作以后,命名管道将继续保存在文件系统中以便以后使用。管道只能由相关进程使用,它们共同的祖先进程创建了管道。但是,通过fifo,不相关的进程也能交换数据。三、线程(pthread)(1)线程的概述每个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论