ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:193.50KB ,
资源ID:2627147      下载积分:3 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

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

注意事项

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

android实验报告第八组视频播放器.doc

1、 Android课设报告科信学院单片机系统设计项目(三级项目)设计说明书 设计成绩 : 目录1 课程设计概述21.1 课程设计题目21.2 课程设计要求22 硬件平台搭建22.1 JDK安装22.2 Android SDK安装以及系统设置22.3 Eclipse安装以及ADT工具的安装33.1软件产品名称43.2软件总体功能43.3软件开发环境43.4概要设计43.5 软件布局设计53.6视频文件搜索功能的设计63.7 播放控制功能的设计74 播放软件在手机上的演示7图3 操作界面85总结与改进展望87.参考文献9附录101 课程设计概述1.1 课程设计题目一个基于Android平台的简单视频

2、播放器。1.2 课程设计要求(1) 能够播放3gp, .mp4等文件;(2) 能处理简单的异常,例如文件不存在等;(3) 能正常启动,退出;(4) 能够在手机上使用该系统;2 硬件平台搭建2.1 JDK安装 JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为2.2 Android SDK安装以及系统设置 下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,默认SDK安装目录为$SDK_ROOT 。 (1)Li

3、nux下,打开文件/.bash_profile或者/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。如果没有找到设定PATH变量的行,可以自己添加一行: export PATH=$PATH: (2)Mac下,在home目录中找到文件.bash_profile,和Linux的一样处理。如果还没有在机器上设定这个文件,可以创建一个.bash_profile文件。 (3)Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加

4、入其中。通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。需要注意到是,当升级了SDK后,如果安装路径有变动的话,不要忘记了更新PATH变量的设置,将其指向变动后的路径。配置SDK有两种方法:第一种,通过SDK下载器自动下载和配置。适合网络好,下载速度快的情况;第二种,借助工具下载SDK文件,手工配置。适合网络不是很好,下载速度慢的情况下。2.3 Eclipse安装以及ADT工具的安装 下载Eclipse安装包后,无需安装,只需解压缩,点击“eclipse.exe”文件即可运行。 Android为Eclipse定制了一个插件,即Android

5、Develpoment Tools(ADT),目的是为用户提供一个强大的综合环境用于开发Android应用程序。ADT扩展了Eclipse的功能,可以让用户快速建立Android项目,创建应用程序界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发行应用程序。安装ADT:启动Eclipse,选择HelpInstall New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入ADT,然后点击Archive.,浏览和选择已经下载的ADT插件压缩文件,点击OK。返回可用软件的视图,你会看到这个插件

6、,然后选Developmer Tools,点击Next,最后重启Eclipse。硬件平台搭建好后,便可以开始创建项目了。3 软件设计3.1软件产品名称一个基于Android平台的视频播放器。3.2软件总体功能(1)能够播放.3gp,.mp4等文件(2)能处理简单的异常,例如文件不存在等 (3)能正常启动,退出(4)能够在手机上使用该系统3.3软件开发环境软件环境:eclipse3.2,AndroidADT硬件环境:lenovo z470操作系统:Win7旗舰版3.4概要设计经过反复思考和查阅资料,拟确定了以下程序流程图1: 图1程序流程图 3.5 软件布局设计 此为一个简单的视频播放器,设计的

7、软件需要支持快进、快退、暂停、继续和进度拖曳等功能。视频播放软件工程文件主要包括src文件夹(Java源码)、res文件夹(资源文件)和AndroidMainfest.xml(程序清单)。软件主要由Activities组成,每个Activity对应一个模块。不同的Activity通过Intent进行通信和相互调用。软件的布局(play.xml)如下:3.6视频文件搜索功能的设计此程序需要输入文件的绝对路径,例如/sdcard/video.mp4;输入文件名字之后,点击open file。部分程序如下:listview = new ListView(this); /搜索手机中的视频文件Curso

8、r c = this.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,new StringMediaStore.Video.Media.TITLE,MediaStore.Video.Media.DURATION,MediaStore.Video.Media._ID,MediaStore.Video.Media.DISPLAY_NAME ,MediaStore.Video.Media.DATA,null, null, null);if (c=null | c.getCount()=0) /如果没有搜索到

9、视频,显示存储列表为空. builder = new AlertDialog.Builder(this);builder.setMessage(存储列表为空.).setPositiveButton(确定, null);ad = builder.create();ad.show(); 3.7 播放控制功能的设计 在打开播放文件之后,点击画面的空白部分,这时会弹出视频播放控制按钮,分别是后退、播放/暂停和前进,下面显示视频播放时间轴,可以进行拖曳4 播放软件在手机上的演示 打开视频播放器软件在内存卡上自动扫描出来的视频列表如图2 图2 视频列表选中一个视频后出现了一个播放界面,上面有四个按键,开始

10、、暂停、返回、停止。还有音量调节按钮以及视频播放进度条可以通过进度条对视频进行快进和后退的操作其界面如图3所示 图3 操作界面按下播放键所选中的视频就会播放了时播放的界面如图4所示 图4 播放时的界面5总结与改进展望在此次课程设计中,不仅了解到了android的有关知识,而且学习了Java语言以及eclipse等硬件环境。有几点需要特别注意:(1) 要明确课程设计的要求,想好系统应该包含哪些功能模块。否则,在软件设计的后期,再想添加新的功能就需要花费大量的时间。(2) 要对android系统有一定的了解。在软件设计过程中,大量的用到了android系统的四大组件:Activity(提供可视化的

11、界面)、Service(运行在后台的服务程序)、Broadcast Receiver(广播事件处理机制)、Content Provider(使应用程序相互访问数据)。只有对这些组件熟练掌握后,才能够真正设计出稳健搞笑的多媒体播放器。(3) 要对Java语言熟练掌握。Android软件开发都是用Java语言写的,而Java又是由类组成的。而Java语言本身又含有众多机制,只有深刻理解这些机制后,才能轻松地实现自己想要的功能。(4) 要对界面设计有一定的了解。Android所有的布局都放在了res/layout中,而所有的菜单选项都放在了res/menu中。合理的布局对人性化的界面也是至关重要的。

12、 (5)要具备快速上网查资料的能力。面对从没接触过的知识,要有信心才是最重要的。另外,网上的很多现成的资料都可借鉴、学习。在熟练理解了别人的应用程序的基础上,再做二次开发。6.个人收获:1.现学现做的能力。从图书馆借一些参考光盘,对某项内容的原理大致了解后,直接运行它的源代码,先观察效果,给大脑直接的印象,然后再去理解程序。2.团队协作意识。身为团队的一员,必须与自己的队友合作。尤其是刚开始做时,要将任务分配明确,还要定期监督各自的进度。3.上网查资料的能力。网络是一个十分强大的信息工具。网上有大量的Android参考资料以及很多著名的Android论坛,这上面为我提供了大量的有用信息。尤其是

13、碰到错误时,上网搜一搜,能很快找到解决办法。4.英语阅读能力。因为很多资料都是起源于国外,而很多参考书也是英文的。此外,Android官网以及著名的Android论坛都是英文版,此外,具备一定的英语阅读能力也是非常重要的。5.与同学间的交流探讨。此次我们团队为两个人,我们经常交流,有助于开拓自己的思维,取长补短,共同解决碰到的问题,这正是一个相互学习的过程。7.参考文献 1 李艳丽. Android事件处理过程剖析 N 长春理工大学学报 20092 汪源,刘芳. Android的进程与单线程模型浅析J.仪器仪表用户 20113马越. Android的架构与应用D中国地质大学(北京), 2008

14、 .4叶炳发. Android操作系统移植及关键技术研究D暨南大学, 2010 .5岳传真. Android系统移植和应用程序开发D复旦大学, 2010 .6陈勋. 基于android平台的资源管理器设计D电子科技大学,2011.附录package com.jsr.media;import java.io.File;import android.app.Activity;import android.graphics.Color;import android.media.AudioManager;import android.media.MediaPlayer;import android.m

15、edia.MediaPlayer.OnPreparedListener;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.SurfaceHolder;import android.view.SurfaceView;import android.view.View;import android.widget.ImageButton;import android.widget.SeekBar;import android.widget.TextView;i

16、mport android.widget.SeekBar.OnSeekBarChangeListener;public class PlayActivity extends Activity;private AudioManager mAudioManager = null;private TextView playtime = null;private TextView durationTime = null;private TextView sound;private SeekBar seekbar = null;private SeekBar soundBar = null; priva

17、te SurfaceView surfaceView; private File videofile; private MediaPlayer mediaPlayer; private Handler handler = null; private int position;private int currentPosition; Override public void onCreate(Bundle savedInstanceState) /创建并打开一个现有的窗体,并与play。xml进行关联 super.onCreate(savedInstanceState); setContentV

18、iew(R.layout.play); mediaPlayer = new MediaPlayer(); playtime=(TextView)findViewById(R.id.playtime); durationTime=(TextView)findViewById(R.id.duration); sound=(TextView)findViewById(R.id.soundsize); surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView); surfaceView.getHolder().setType(Surf

19、aceHolder.SURFACE_TYPE_PUSH_BUFFERS); surfaceView.getHolder().setFixedSize(320,240); seekbar = (SeekBar)findViewById(R.id.seekbar); ButtonClickListener listener = new ButtonClickListener(); /设置按钮监听 ImageButton playbutton = (ImageButton) this.findViewById(R.id.playBtn); playbutton.setAlpha(00000000);

20、 /设置透明度? ImageButton pausebutton = (ImageButton) this.findViewById(R.id.pauseBtn); ImageButton resetbutton = (ImageButton) this.findViewById(R.id.resetBtn); ImageButton stopbutton = (ImageButton) this.findViewById(R.id.stopBtn); playbutton.setOnClickListener(listener); pausebutton.setOnClickListener

21、(listener); resetbutton.setOnClickListener(listener); stopbutton.setOnClickListener(listener); seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() /设置进度条监听 Override public void onStopTrackingTouch(SeekBar seekBar) Override public void onStartTrackingTouch(SeekBar seekBar) Override publi

22、c void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) if(fromUser) mediaPlayer.seekTo(progress); ); soundBar = (SeekBar)findViewById(R.id.soundBar); soundBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() /设置音量控制进度条监听 Override public void onStopTrackingTouch(SeekBar seek

23、Bar) / TODO Auto-generated method stub Override public void onStartTrackingTouch(SeekBar seekBar) / TODO Auto-generated method stub Override public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) / TODO Auto-generated method stub if (fromUser) int ScurrentPosition = soundBar.g

24、etProgress(); mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, ScurrentPosition, 0); ); Overrideprotected void onRestoreInstanceState(Bundle savedInstanceState) /导入视频路径,其方法与listActivity。java相关联 position = savedInstanceState.getInt(position); String path = savedInstanceState.getString(path);

25、if(path!=null & !.equals(path) videofile = new File(path); super.onRestoreInstanceState(savedInstanceState);Overrideprotected void onSaveInstanceState(Bundle outState) outState.putInt(position, position); if(videofile!=null) outState.putString(path, videofile.getAbsolutePath(); super.onSaveInstanceS

26、tate(outState);private final class ButtonClickListener implements View.OnClickListenerprivate boolean pause;public void onClick(View v)switch (v.getId()case R.id.playBtn:String filename = ListActivity.uri.toString();videofile = new File(filename);play();break;case R.id.pauseBtn:if(mediaPlayer.isPlay

27、ing()mediaPlayer.pause();pause = true;elseif(pause)mediaPlayer.start();pause = false;break;case R.id.resetBtn:if(mediaPlayer.isPlaying() mediaPlayer.seekTo(0);Elseplay();break;case R.id.stopBtn:if(mediaPlayer.isPlaying() mediaPlayer.stop(); mediaPlayer.release();mediaPlayer=null;break;default: break

28、; private void play() /定义一个播放方法,用于播放视频try mediaPlayer.reset();mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mediaPlayer.setDisplay(surfaceView.getHolder();mediaPlayer.setDataSource(ListActivity.uri.toString();setup();mediaPlayer.start(); catch(Exception e)System.out.println(play is wrong

29、);public String toTime(int time) /时间time /= 1000;int minute = time / 60;int second = time % 60;return String.format(%02d:%02d, minute, second);public String toFotmat(int num) return String.format(%02d, num); private void setup() /进度条处理init();try mediaPlayer.prepare();mediaPlayer.setOnPreparedListene

30、r(new OnPreparedListener()Overridepublic void onPrepared(final MediaPlayer mp)seekbar.setMax(mp.getDuration();handler.sendEmptyMessage(1);playtime.setText(toTime(mp.getCurrentPosition();durationTime.setText(toTime(mp.getDuration(); mp.seekTo(currentPosition); handler.sendEmptyMessage(2); sound.setTe

31、xt(toFotmat(CurrentSound)+/+toFotmat(MaxSound);); catch (Exception e)System.out.println(wrong);int MaxSound;int CurrentSound;private void init() /声音及播放进度条处理 handler = new Handler() public void handleMessage(Message msg)super.handleMessage(msg);switch (msg.what) case 1:if(mediaPlayer!=null)currentPos

32、ition = mediaPlayer.getCurrentPosition();seekbar.setProgress(currentPosition);playtime.setText(toTime(currentPosition);handler.sendEmptyMessage(1);break;case 2:mAudioManager=(AudioManager) PlayActivity.this.getSystemService(PlayActivity.AUDIO_SERVICE);MaxSound=mAudioManager.getStreamMaxVolume(AudioM

33、anager.STREAM_MUSIC);CurrentSound=mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);sound.setText(toFotmat(CurrentSound)+/+toFotmat(MaxSound);handler.sendEmptyMessage(2);break;default:break;目录1 课程设计概述21.1 课程设计题目21.2 课程设计要求22 硬件平台搭建22.1 JDK安装22.2 Android SDK安装以及系统设置22.3 Eclipse安装以及ADT工具的安装33.1

34、软件产品名称43.2软件总体功能43.3软件开发环境43.4概要设计43.5 软件布局设计53.6视频文件搜索功能的设计63.7 播放控制功能的设计74 播放软件在手机上的演示7图3 操作界面85总结与改进展望87.参考文献9附录10评 语成 绩指导教师(签字) 年 月 日目 录第一章 总 论 11.1项目概况 11.2研究依据及范围 31.3主要技术经济指标 41.4研究结论及建议 4第二章 项目建设的背景和必要性 62.1项目建设的背景 62.2项目建设的必要性 8第三章 项目服务需求分析 11第四章 项目选址与建设条件 134.1选址原则 134.2项目选址 134.3建设条件 144.

35、4项目建设优势条件分析 15第五章 建设方案 185.1建设规模与内容 185.2总体规划设计 195.3建筑方案 245.4结构方案 265.5给水工程 275.6排水工程 295.7电气设计 315.8暖通设计 345.9项目实施进度 35第六章 节能措施 376.1设计依据 376.2节能措施 37第七章 环境影响分析 397.1 环境影响分析 397.2 环境保护措施及治理效果 40第八章 消防与安全卫生 428.1 消防 428.2 劳动安全 438.3 卫生防护 44第九章 组织机构与运作方式 459.1 组织机构 459.2组织管理 469.3劳动定员 46第十章 投资估算 4710.1编制依据 4710.2 投资估算 4710.3资金筹措 48第十一章 经济效益评价 4911.1 成本核算 4911.2 利润估算 5111.3经济风险分析 5211.4财务评价结论 54第十二章 结 论 5518

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服