ImageVerifierCode 换一换
格式:DOC , 页数:85 ,大小:3.61MB ,
资源ID:4539768      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4539768.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于Android音乐播放器详细设计doc.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于Android音乐播放器详细设计doc.doc

1、基于Android音乐播放器详细设计【实用文档】doc 文档可直接使用可编辑,欢迎下载 项 目 详 细 设 计 3组:梁锦 21209010417 王燕 21209010414 李雪飞 21209010415 卫妙珠 21209010419 雷宁 21209010418  曹项飞 21209010416 目录 1音乐播放器设计18 1。1项目介绍18 1.1。1播放器的基本控制需求18 1.1.2项目流程19 1.1。3UI界面设计20 1.1.4项目程序结构21 1。1。5项目Mani

2、fest.xml文件22 1。2创建项目及具体结构分析25 1.2.1项目的创建25 1.2。2界面设置25 1.2.3结构分析26 1。3 设计成果及分析26 1。3.1 设计成果27 1。3。2问题及分析29 1。1项目介绍 本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对设计过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、等功能于一体,性能良好,在Android系统中能独

3、立运行.本设计简单实用,没有过于花哨的功能与界面,简单的功能不仅仅操作方便,还为系统资源节省空间。 在Android系统下开发一款多媒体播放器,并学习多媒体技术,熟悉软件开发流程。Android多媒体框架播放机制,包括:OpenCore,PacketVideo(PV).UI设计与制作,包括动态界面布局,浮动控制栏,自定义对话框等.媒体文件播放与控制,包括音视频文件的播放,后台播放媒体文件等。媒体文件的信息管理,包括媒体文件信息的扫描,存取与获取,数据库操作等。播放信息和用户配置参数的保存与加载。在Android模拟器/真机上实现对媒体文件的播放。 1.1.1播放器的基本控制需求 根据项目

4、的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用如下图4—1来描述,系统的功能需求。 (图4-1) 从以上图4—1中我们可以一目了然地看出本项目的控制需求,其中主要包括了播放、暂停、音量调节、新增、上一首,下一首等功能。 1。1.2项目流程 下图4-2是项目设计的流程图,是本项目设计的重要关键点之一,此流程图展示了整个项目的逻辑与算法。是本项目的核心技术之一。 (图4-2) 不难看出,本项目使用到了3个主要用户界面,分别是播放主界面,播放列表界面以及播放界面.通过图4-2,我们可以清晰的,一目了然的读懂整个设计的思路以及各个功能的定位。从而,

5、此流程图更加方便读者了解该项目的功能实现,设计思路,层次结构以及各个程序之间的关系等。 1.1.3UI界面设计 Android的四大基本组件:Activity(活动),Service(服务),BroadcastReceiver(广播),ContentProvider(内容提供者),各组件之间要进行切换需要一个意图或企图Intent类,通过启动StartIntent()方法来使各组件进行跳转[20] Android的五大布局方式:LinearLayout(线性布局) FrameLayout(帧布局) TableLayout(表格布局) AbsoluteLayout(绝对布局) Relat

6、iveLayout(相对布局)。[21] 五种布局方式可以相互嵌套,Android各种漂亮的界面都是通过嵌套布局而实现的。 Android的线程,以及线程之间通信的中介:Handler类 Android数据库:在第三章已经介绍过了.这里不再介绍 Android配置文件:AndroidManifest.Xml及res资源文件中各种属性 布局方式 引用的资源等. Android系统将插件ADT集成到了Eclipse工具上,因此,一个Android程序启动后,系统会启动一个模拟器(Emulator),该模拟器是一款手机板的样式,拥有手机硬件的基本操作。我们也可以将右边的键盘通过代码属性设置

7、将其隐藏,界面的大小可自由设定,目前最大支持800X600的分辨率。 1.1.4项目程序结构 Android工程基本结构目录包括:src (源代码)、gen(Android系统自动生成的常量)、Res(资源文件):主要存放程序界面的布局配置(。xml)文件和图片资源。AndroidMainfes.xml 是四大组件的驱动配置文件,有它的存在,Android程序的四大组件才可以正常的跳转.如图4。3,写明了Android资源的类型和布局 (图 4。3)    下图4.4—4。7为音乐播放器代码结构和各界面的配置文件,图像资源等,图4。4 为一个Android工程所必须的结构,图4.

8、5为该播放器的.Java文件,图4.6为播放器所用到的字符串,字体大小,字的颜色等配置文件,图4.7为该播放器的图片资源。 (图 4。4)             (图 4.5)     (图 4.6)(图 4.7) 1.1.5项目Manifest.xml文件 Android系统的任何一个程序启动都需要AndroidManifest.xml来启动程序,任何一个新建的工程目录都会自动生成一个AndroidManifest.xml文件,此配置文件是整个程序能够正常运行的核心,它里面包含了AndroidSDK的版本,程序运行的默认Activity,当程序中的任

9、何一个组件触发事件后,系统都会自动的去AndroidManifest。xml中寻找标识来作出相应的操作.任何一个AndroidManifest。Xml文件的格式都应为: <?xmlversion=”1.0"encoding=”utf—8"?〉 〈manifest > 〈application 〉 ﻩﻩ<user-permission /〉

10、 〈/manifest〉 Android系统有一个编码的规定,支持的编码是”utf-8",当程序中出现乱码是,我们须将其编码格式转化为"utf-8”.在 AndroidManifest。xml中会在第一行声明一句:<?xmlversion=”1.0" encoding=”utf-8”?〉。它是该系统支持的版本和编码。在第二行定义了我们需要使用的架构,该架构来自xmlns:android=”http://schemas.android。com/apk/res/android” xmlns(XMLnamespace)是一个命名空间,它就像一条河的源头一样能让我们找到系统架构,每一个配置文件必须

11、有这个xmlns,否则程序中的所使用的所有资源将无法找到。 如下程序,在application元素我们定义android:icon="@drawable/icon" android:label="@string/app_name",android:icon是程序在手机中显示的图片,我们运用@drawable/icon表示了对res/drawable目录下的icon.png的引用。@string/app_name表示了对res/value目录下string。Xml中定义的app_name参数的引用。 <application android:icon=”@drawable/music

12、" android:label="@string/app_name" >     <activity android:label=”@string/app_name" android:name=”.MainActivity” 〉   〈intent-filter 〉           <actionandroid:name="android.intent。action.MAIN” />       〈categoryandroid:name=”android.intent.category。LAUNCHER” />  

13、   </action〉        </intent—filter〉     </activity〉 这是系统确定的首先要启动的Activity是PlayRackActivity. 在intent—filter选项中,有action和category等等属性,我们需要定

14、义action的值为android.intent。action.MAIN,category的值为android。intent.category。LAUNCHER,它们是系统的值,程序在解析到这些常用后就可以确定首先要启动的Activity。当我们需要通过一个组件触发另一个组件时,我们将设定action和category的其它属性值,系统会根据我们设定的属性值去AndroidManifest。Xml的application 中寻找标识,任何一个Activity的action和category是唯一,所以程序在任何时候都能唯一启动一个Activity,这样,不同的Activity之间的跳转就实现了

15、 在AndroidManifest。Xml中有一个根结点〈uses-sdk>,它是我们需要定义的ADT版本,例如我们将其值设定为android:minSdkVersion="8",则表示此Android工程所用的版本为1.6,Android还有1。1、1.5、1.6、2.0、2.1这几个版本。 如果我们需要对网络进行访问,比如打开一个网页,刚我还需要设置一个网络访问权限uses—permission,将其的值设置为android:name="android.permission.INTERNET,我们就可以访问网络了。当然uses—permission还有很多其它的权限,例如GPS定位权

16、限,浏览器数据存取权限com.android.browser。permission。READ_HISTORY_BOOKMARKS等等。 当程序的任何一个组件要用到时,都必须在AndroidManifest。Xml文件中声明.四大组件要使用前都需要声明,其声明方式如下: <service> 〈provider></provider> 〈activity></receiver> 其中声明provider时还需要声明其授权 authorities。每个组件里面还有很多的属性,会根据程序的具体需要定义不同的属性.过滤器inte

17、nt-filter 有两种启动方式来启动界面: (1) 显示方式 显示方式是在代码中的直接启动组件,启动时会声明Intent,在它的构造方法Intent(组件1,组件2)中直接指定一个组件的名字,然后调用方法startIntent(intent)以启动指定的组件. (2)隐式方式 隐式方式是通过过滤器来过滤完成的,启动的组件必须满足action和category的条件才能够启动该组件。这些属性是在AndroidManifest.Xml文件中声明的。两种启动方式都可以通过程序setAction(ACTION常量)和startActivity(intent)或配置文件两种方式来实现组件的

18、跳转。 1.2创建项目及具体结构分析 本节着重分析项目结构中每一个功能的功能设计与创建方法。包括了项目的创建,界面的设计以及对项目结构的分析. 1。2.1项目的创建 可以使用Eclipse插件创建一个简单的Android程序。 在创建新项目时需要注意输入以下信息: Projectname(项目名称): chengchengMusicPlayer BuildTarget(需要的版本): Android1.5 Applicationname(应用名称): MusicPlayer1 Packagename(包名): cn。com.karl.music CreateActivity

19、Java项目名称): MusicPlayer 在实际程序中,我们可以定义自己的名称。其中软件包名称尤为重要。系统中的每个应用程序都必须具有唯一的软件包名.因为在很多地方都会用到软件包名,所以一旦设定好软件包名就不要随意修改它。 1.2。2界面设置 配置文件setting.Xml布局结构如下: <?xmlversion="1.0" encoding="utf-8”?> ﻩ ﻩﻩ

20、utton >〈/RadioButton> ﻩ〈/RadioGroup〉 </LinearLayout> 〈ToggleButton/〉 ﻩ 〈ImageButton/> ﻩ 最外层的LinearLayout里面嵌套多层LineaLayout,子LinearLayout里面嵌套着单选按钮RatioGroup 和开关按钮ToggleButton。RatioGroup 里面嵌套着3个RatioButton,即界面上显示的(单曲循环、随机播放、顺序播放)。 播放模式用的是一个组

21、件RadioGroup,这个组件有单项选择的功能,里面有RadioButton项,多个RadioButton项只能同时选中一个,该 播放器播放模式有单曲循环,随机播放,顺序播放等功能。MediaPlayer有一个监听器,它监听着歌曲是否正在播放或者是否播放完成,当歌曲播放完成时,会触发方法OnCompletionListener(),在该方法里面可以处理歌曲播放完成后的操作。RadioGroup可以进行单项选择操作。 通过RadioButton。isChecked(),如果返回true,刚该项被选中。 1.2.3 结构分析 (1)播放器的。Java文件 .Java文件是本项目的主要功能

22、实现程序。在cn.com.karl.music程序包中的以下文件: AlbumsActivity。java, ArtistActivity.java, ItemActivity.java, MainActivity.java, MusicActivity.java, MusicService.java, SongActivity.java 其中,AlbumsActivity。java文件主要描述并定义了专辑的视图界面以及功能作用。ArtistActivity。java文件主要描述并定义了艺术家的视图界面以及功能作用。ItemActivity。java文件主要描述并定义了歌曲项目的视图界面以

23、及功能作用。MainActivity.java定义并实现了记忆上一次运行该项目的动作,在下一次打开运行后继续该操作。MusicActivity.java文件主要描述并定义了音乐播放器主界面的视图界面以及功能作用。MusicService.java是音乐播放器在后台运行的程序.SongActivity。java文件主要描述并定义了最近播放歌曲的记忆功能。 (2)播放器的图片资源 播放器的图片资源主要在res文件夹中。当然也可以通过更换res中的图片来更换音乐播放器各个UI界面的背景或其他按钮图片。 对于不同的界面,比如播放界面,歌曲列表界面,艺术家界面或者最近播放界面,都快可以设置不同的背

24、景图片,这就使整个播放器在色调方面不显得那么单一了。 1.3设计成果及分析 在经过多次的程序调试及模拟器和真机测试后,本音乐播放器的设计成果及界面效果图会在本节中做概要介绍。 1.3。1 设计成果 (1)音乐播放界面如下图5.1所示: (图5.1) (2)歌曲列表界面如下图5.2所示 (图5。2) (3)艺术家界面如下图5。3所示 (图5。3) 上述便是在经过多次的程序调试及模拟器和真机测试后,本音乐播放器的设计成果及界面效果图. 1.3.2问题及分析 (1)模拟器占用内存问题 在一开始对程序进行调试的时候,偶尔会遇到计算机提示:系统C盘空间不足之

25、类的信息,这是由于Android模拟器每次运行时都会临时生成几个。tmp临时文件。一段时间后,其可能占用几GB的磁盘空间。所以,需要手工定期清理一下,清理目录为C:\DocumentsandSetting\Administrator\LocalSetting\Temp\AndroidEmulator 文件夹下的内容。在遇见此内存问题时,清理此目录临时文件后,模拟器便能正常运行了。 (2)程序问题 在调试程序过程中,总是遇见Activity与Manifest之间通信有故障的相关问题,后经与老师同学讨论后,发现是AndroidManifest。xml文件中,漏了将MusicActivity定义

26、入Manifest程序中。 〈/activity> 〈activityandroid:name=”.ArtistActivity">〈/activity> 〈activityandroid:name="。SongsActivity"〉</activity〉 <activityandroid:name=”。ItemActivity”></activity〉 〈activityandroid:name="。AlbumsActivity">

27、roid:name="。MusicService"></service> 〈/application> (3)歌曲名称及SD文件夹不能显示的问题 ﻩ在运行程序后,有时歌曲名称,专辑,表演者等信息会出现乱码,预测估计是模拟器自带的字符串有错误。但由于时间问题,此问题到现在还未解决。 另外,有时在运行程序的时候,会显示SD卡未能读取的错误,但时而又会正常工作,推测可能是模拟器稳定性问题。 以上这两点问题都需要在之后慢慢的去琢磨推敲原因。 6 结论 (1) 通过对Android手机平台的音乐播放器软件的开发,使我对Android音

28、乐播放器系统的整体设计有一个深入的了解,对整个流程也会有一个清晰的认识。开发Android音乐播放器,要抓住开发的核心部分,音乐播放器大体由播放主界面、播放列表、菜单、播放设置、文件浏览、歌曲搜索六大核心组成,只要掌握了这六部分的开发,音乐播放器就能初具规模。而其它的功能都是在这六个功能的基础上去补充添加的,但是这是功能的确是必不可少的功能,否则就不能算是音乐播放器了。 (2) 音乐播放器系统实现了播放器的基本功能:播放,暂停、停止、上/下一首、音量调节、文件浏览器、播放列表查询等功能.运用的系统平台是现今最热门的Android系统,是一个开源的基于Linux系统的手机平台。是以Java语言

29、编写+SQLite数据库支持+SharePreference配置文件的组合方式进行数据管理.实现了音乐播放器的系统编程。 (3) 本次程序设计,对播放器的系统结构框架做了精心的构思与设计,采用主要开发工具是Eclipse1.5+Java语言的支持,AndroidDevelopmentTool的插件,和AndroidSDK2.2版本的全面结合,才使整个音乐播放器系统得以实现。 (4) 总之,经过几个月的Android系统技术知识的学习和对音乐播放器的构思与设计,使我对Android系统有了一定的了解,让我对Android系统上的开发流程和开发模式有了深入的了解,这对我以后的Android项目

30、开发有很大的帮助。 谢辞 值此论文完成之际,衷心感谢我的导师金一鸣老师,在毕业设计的过程中给予我悉心的指导和帮助,他对待学识的严谨态度和作风让我感触颇深。感谢陈雯老师,作为我班的辅导员,在大学生活期间,给予同学们的帮助和教导。感谢2008届电子科学与技术的全体同学,和我一起度过了难忘的四年时光.感谢我的爸爸妈妈,将我培养成人,教育我,帮助我。最后,对审批此论文的老师表示深深地谢意。 参考文献 [1] 雍俊海编著。Java程序设计

31、习题集[M].北京:清华大学出版社,2006 [2]JasminBlanchette,MarkSummerfield. C++ GUIProgrammingwithJava.[M]Publisher:PrenticeHallPTR,January152004。 15~25 [3] 朱福喜编著.Java语言习题与解析[M].北京:清华大学出版社,2006 [4] 赵文靖编著。Java程序设计基础与上机指导[M].北京:清华大学出版社,2006 [5] 吴其庆编著。Java程序设计实例教程[M].北京:冶金工业出版社,2006 [6]王克宏著.Java技术教程(基础篇)[M].北京:高等

32、教育出版社,2002。04 [7] JavaEye论坛.http://www.javaeye.com/forums. 2010—04—15. [8]TrolltechInc。Android ReferenceDocumentation3.3。2. http://qt.nokia。com/title-cn. 2004年 [9]耿祥义,Java大学实用教程[M],北京:电子工业出版社,2005.3 [10] 杨丰盛主编.Android 应用开发揭秘[M].西安:机械工业出版社,2010-01—25 [11] eoe。Android开发社区.http://www。eoeandroid。co

33、m/. 2010—04-10. [12] 高焕堂编.Android 应用框架原理与程式设计(第三版)[M].北京:清华大学出版社,2008-10—03 [13]shaneCondor, LaurenDecry. Android移动应用开发从入门到精通[M].北京:人民邮电出版社,2010 [14]G.N.Wassef. Lipoprotein (a) inandroidobesityandNIDDM: anewmemberin‘themetabolicsyndrome'[M]. Biomedecine & Pharmacotherapy, Volume53, Issue10,Decemb

34、er1999,Page462-465. [15]FedericoPerfetto, RobertoTarquini, GermaineComealissen, GiorgioMello, AlessioTempestini, PaolaGaudiano, FrancescoMancuso, FranzHalberg. Circadianphasedifferenceofleptininandroidversusgynoidobesity[M]。 Peptides, Volume25, Issue8, Auguest2004, Page1297—1306. [16]NesrineAttia,

35、 NatalieFournier, BenoitVedie, MicheleCambillau, PhilippeBeaune, OlivierZiegler, AlainGrynbery, Jean-LouisPaul, BrunoGuerci[M]。ImpactofAndroidoverweightorobesityandinsulinresistanceonbasalandpostprandialSR-BIandABCA1-mediatedserumcholesteroleffluxcapacities. Atherosclerosis, Volume209, Issue1, Janua

36、ry1st,2008. Pages95—103. [17]AlessandroDistefano, GianluigiMe, FrancesscoPace. Androidanti-forensicsthroughalocalparadigm[M]。 DigitalInvestigation, Volume7, Supplement1, August2010, PagesS83—S94 [18] 余志龙编著.GoogleAndroidSDK开发范例大全[M].北京:人民邮电出版社,2009-7-1. [19] 张孝祥著. java就业培训教程[M].北京:清华大学出版社,2007. [

37、20] Ming-ChiaoChen, Jiann-LiangChen,Teng-Wen. Android/OSGi—basedvehicularnetworkmanagementsystem[M]。 ComputerCommunications, Volume334, Issue2, February15th2011, Pages169-183 [21]RetoMeier。 Android高级编程[M].北京:清华大学出版社,2010。 《C/C++课程设计》项目报告 目  录 1 项目简介1 1.1项目名称1 1。2功能概述1

38、 1.3 开发人员及职责。。....。。。...。.。..。。.。.。....。。.。..。。.。.。。.。。。。.....。..。....。。。.。.。。。.。。。......。.。..。。.。。.....。..。...。.。..1 2  需求分析..。.。。...。。.。.。.。....。....。....。。.。.。.。。..。...。。。。。....。....。。...。.。。。。..。。....。......。..。。.......。..。...。.......。...。..。..。.。.1 2.1  功能需求。....。.。..。。。。。...。。。。..。..。....

39、....。。.。。..。..。..。.。。。..。.。.。。.。.。..。....。......。....。..。......。。..。...。。。..。...。。.1 2.2 性能需求......。.。....。...。...。.。...。.。。。。。。。.。..。.。。..........。。..。......。.。。.。....。...。....。..。...。..。。。....。.。。。。。。..。....2 3  系统设计。....。....。。。..。..。....。...。..。.。。.。。。.。.....。。.....。....。。..。...。..。。.。..。.

40、.。.。.。..。...。.。....。..。。。...。。..。。.。..。..。。。.。。.。..3 3.1 代码设计...。..。。.。...。..。.......。.。..。。..。。。..。。。。。。...。..。......。.....。....。.。.。....。....。.....。..。..。..。.。...。...。........3 3.2 流程图。.。.........。.。....。。。..。。。......。..。。.。。。.......。。.。..........。....。..。......。....。。。.。。.。。..。。..。..。。.。...。.

41、.。。。。.13 4  系统实现及测试.。.。。.。.。。.。。...。。。........。.。..........。。..。.。。。。.。。...。..。...。.。。。..。。。....。.。....。...。....。。.。.。....。.。。..。。。.17 5 项目总结........。。。。...。。..。。。.。....。。.......。。...。.。。.。..。.。..。.。...............。..。。.....。.。..........。.。....。。.。。。。..。.....。..。..。20 5.1  总体总结。。。。。。。...。。

42、.。。..。。。..。........。。.。........。..。...。...。。。.....。。。...。。.。。.。。。...。.。。...。。...。。..。......。..。..。.20 5。2 个人总结.。。...。。。..。。。..。.。。...。.。。.。.....。..。..。.....。.。.。。。..。....。..。..。。。.。。.。.......。。。.。...。...。。。.。...。。..........。21 1  项目简介 1.1  项目名称 多媒体播放器 1.2 功能概述 此款媒体播放器项目具有以下功能: (1)本地设定目录

43、中包含音频文件的浏览和播放(支持mp3格式)。 (2)本地设定目录中包含图片文件的浏览(支持bmp格式). (3)本地设定目录中包含视频文件的浏览和播放(支持mp4格式)。 (4)最近播放列表功能,保存最近播放的10个文件,保存最近追加的10个文件。视频,音频,图片是分开的,都有最近播放列表和最近追加列表。 1。3  开发人员及职责 负责视频模块,以及最后的模块整合,报告的编写 负责音频模块,报告的编写 负责图片模块,报告的编写 2 需求分析 2.1. 功能需求 本设计将要实现的是一个单机多媒体播放器,可以对音频、视频、图片进行查看。从其目标功能及特点分析,将本软件

44、功能划分如下: (1) 视频播放器:    可以打开MP4格式的视频文件。 在本地文件夹中将MP4格式的视频文件添加至播放列表,点击播放,或双击列表里的所选项目,就可跳转至视频播放窗口。  在播放窗口里,查看视频时,有“播放",“暂停”,“停止”功能。 播放中,还有“前进”,“后退”功能,即快进快退功能,以4秒为一个单位,这个单位也可以在代码中进行修改。 在观看视频时,还有“上一曲,下一曲”功能,即查看之前添加在播放列表里的视频项。同时,也可以选择播放模式“循环,顺序,随机",该功能也是基于播放列表实现的。 在右边功能键里,还有音量调节,静音功能。除此以外ﻩ,还可以进行全

45、屏浏览,按“ESC”退出全屏。 在主页面,还有两个数据框“最近追加项目”和“最近播放项目”,可以直观地看到最近播放项目,且可以手动清空所有项目。这两个列表只按照时间,保存最近的项目,且最多保存10个。 (2) 音频播放器 可以打开MP3格式的音频. 在本地文件夹中将MP3格式的视频文件添加至播放列表,点击播放,或双击列表里的所选项目,就可跳转至音频播放窗口。并且,在主窗口,还有两个数据框“最近追加项目”和“最近播放项目”,可以直观地看到最近播放项目,且可以手动清空所有项目。这两个列表只按照时间,保存最近的项目,且最多保存10个. (此处为该多媒体公共窗口,功能相同,下面的图片浏览

46、器也是一样的.) 在播放窗口里,听取音频时,有“播放",“暂停”,“停止”功能。 同样也会有“前进,后退”功能,“上一曲,下一曲”功能,播放模式中的“循环,顺序,随机”,这些功能与上面所述的视频播放器相同。 (3) 图片浏览器  可以打开BMP格式的图片。 主窗口同视频、音频播放器一样,在此不多赘述. 在浏览图片窗口中,会有“上一张,下一张”功能键,可以在“播放列表,最近播放项目,最近追加项目”任何一个列表中循环,可以自由选择。当图片浏览到所选列表的最后一张时,会自动循环至列表第一张。 (4)在主窗口的中,在列表中已添加文件后,有两种方式可以打开文件.一是选中想要打开的

47、文件,点击“播放文件”按钮,二是直接双击列表中的文件,便可进入到相应子窗口进行查看。 (5)当单独拿出exe文件运行时,会自动在exe所在文件里创建9个文本文档,分别存放三个模块(视频,音频,图片)的三个列表(播放列表,最近播放项目,最近追加项目)信息. 2。2. 性能需求   (1)硬件平台要求 由于本软件为单机软件,不需进行大量的数据读写和数据交换,故对系统硬件配置的要求并不高,只要能够平稳运行Windows操作系统的硬件平台,都能够使用本软件。 (2)软件开发环境 1。 OS:Microsoft Windows XP SP2 2. Complier:Visual 

48、C++ 6.0 , Visual Studio 2005 Team System或更高版本 3。 ﻩMSDN Library 3 系统设计 3。1。代码设计 (1)音频、视频模块 1。创建播放器对话框 右击Dialog,点击插入,在弹出的对话框中点击Dialog,再点击新建。  双击新建的得对话框的ID,弹出新建的对话框,删除里面所有的控件。 右击,建立类向导,此时弹出Adding a class对话框,点击ok,输入name为player, 点击确定后退出。   再在对话框中右击,选择插入ActiveX控件,选择Windows Med

49、ia Player,之后在对话框中可以看到一个视频控件。右击,选择属性,在控制中将选择模式改为None,在视频控件中也就看不到一开就有的按键了。再次右击视频控件,选择建立类向导.点击Member Variables,选择视频控件的ID(默认为ID_OCX1), 点击Add Variables。此时会弹出一个对话框。   点击确定后,弹出Comfirm Class对话框后,点击OK。此时可以看到建立了很多个类。之后为添加成员变量。Name为m_play ,Category为Control,Variable Type为CWMPPlayer4.点击确定之后可以看到下面的效果. 2.控

50、件与函数 声明全局变量CString playname,用于记录播放地址;int ntype用于记录播放的类型;int num1,num2,num1用于记录播放的地址在播放列表中的位置,num2用于记录播放列表中总的播放地址.构建成员函数void player::Onplay(CString pname,int n,int m,int t) {playname=pname; num1=n;num2=m;ntype=t;} 将前台所选择播放的信息通过函数传递给播放器对话框中 在对话框中放上以下几个控件。 控件 ID 标题 控件 ID 标题 Push Butt

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服