版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文讲的是“android视频播放器,并附有播放器源代码1开发环境:eclipse3.6ADT-0.9.7AVD1.62程序运行效果A启动AVD(虚拟设备)在应用程序界面主界面,我们可以看到艾文播放器B.点击打开后,会播放默认的一个coco的广告wwwJgpZcDni00:07C点击标题栏的按钮可以打开文件浏览器coco3gpL22MBD.点击视频文件,会提示使用的播放器E.选择艾文视频播放器打开后,按ctrl+f12,切换到横屏,发现视频并没有中断,而是继续播放3源码分析图片都是网上找的,还有就是自己收藏的地方翻出来的,不多讲了。布局文件main.xml:期中包含一个videoview,用于
2、播放视频图像titlebar.xml:主视图的标题栏布局,主要用于添加一个菜单按钮,点击后打开文件浏览器myfile.xml:为文件浏览器布局..4.25.26.CVideoPlay.javaviewplaincopytoclipboardprint?packagecom.bestaone;importandroid.app.Activity;importandroid.content.Intent;.Uri;importandroid.os.Bundle;importandr
3、oid.util.Log;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.view.Window;importandroid.view.WindowManager;importandroid.widget.ImageButton;importandroid.widget.MediaController;importandroid.widget.TextView;importandroid.widget.VideoView;publicclassVideoPlayextendsActivi
4、typrivateVideoViewvideoView;privatestaticintindex=0;OverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);setContentView(R.layout.main);1.52.53.
5、getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);/设置标题栏的布局getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar);/这个空间暂时没用finalTextViewtitleTV=(TextView)findViewById(R.id.title);titleTV.setText();ImageButtontitleButton=(Ima
6、geButton)findViewById(R.id.titleButton);/为按钮添加鼠标点击事件titleButton.setOnClickListener(newOnClickListener()OverridepublicvoidonClick(Viewv)Intentintent=newIntent();intent.setClass(VideoPlay.this,MyFile.class);/打开MyFileactivitystartActivity(intent););Intentintent=getIntent();Stringvalue=intent.getDataStr
7、ing();videoView=(VideoView)findViewById(R.id.VideoView01);if(value=null)/加载默认视频videoView.setVideoURI(Uri.parse(android.resource:/com.bestaone/+R.drawable.coco);else/通过文件浏览器传过来的视频路径,播放videoView.setVideoPath(value);videoView.setMediaController(newMediaController(VideoPlay.this);0.61
8、.3.videoView.requestFocus();/启动OverrideprotectedvoidonStart()super.onStart();Log.i(mp4,onstart);OverrideprotectedvoidonResume()super.onResume();videoView.seekTo(index);videoView.start();Log.i(mp4,onresume);/暂停OverrideprotectedvoidonPaus
9、e()super.onPause();Log.i(mp4,onpause);/停止OverrideprotectedvoidonStop()super.onStop();videoView.pause();在这里记住视频播放的位置,当屏幕横竖切换的时候可以从记录点继续播放index=videoView.getCurrentPosition();Log.i(mp4,onstop);89.销毁OverrideprotectedvoidonDestroy()super.onDestroy();/videoView.destroyDrawingCache();index=videoView.getCu
10、rrentPosition();Log.i(mp4,ondestroy);98.MyFile.javaviewplaincopytoclipboardprint?packagecom.bestaone;2.importjava.io.File;importjava.util.ArrayList;importjava.util.List;6.importandroid.app.ListActivity;importandroid.content.Intent;.Uri;importandroid.os.Bundle;importandroid.view.KeyEvent;importandroi
11、d.view.View;importandroid.widget.AdapterView;importandroid.widget.AdapterView.OnItemLongClickListener;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.ImageButton;importandroid.widget.ListView;importandroid.widget.TextView;importandroid.widget.Toast;21.22.publicclassMyF
12、ileextendsListActivityimplementsOnItemLongClickListener23.24./支持的视频格式25.privatefinalStringFILE_MapTable=26./后缀名,MIME类型.3gp,video/3gpp,.mov,video/quicktime,7.58.59.avi,video/x-msvideo,.rmvb,audio/x-pn-realaudio,.wmv,aud
13、io/x-ms-wmv;privateListitems=null;/items:存放显示的名称privateListpaths=null;/paths:存放文件路径privateListStringsizes=null;/sizes:文件大小privateStringrootPath=/;/rootPath:起始文件夹privateTextViewpath_edit;privateImageButtonrb_qry;privateintisZoom=0;privateintisOpen=0;*重写返回键功能:返回上一级文件夹*/OverridepublicbooleanonKeyDown(i
14、ntkeyCode,KeyEventevent)/是否触发按键为back键if(keyCode=KeyEvent.KEYCODE_BACK)path_edit=(EditText)findViewById(R.id.path_edit);Filefile=newFile(path_edit.getText().toString();if(rootPath.equals(path_edit.getText().toString()returnsuper.onKeyDown(keyCode,event);elsegetFileDir(file.getParent();returntrue;60.6
15、8./如果不是back键正常响应elsereturnsuper.onKeyDown(keyCode,event);OverrideprotectedvoidonCreate(Bundleicicle)super.onCreate(icicle);setContentView(R.layout.myfile);path_edit=(EditText)findViewById(R.id.path_edit);rb_qry=(ImageBu
16、tton)findViewById(R.id.qry_button);rb_qry.setOnClickListener(listener_qry);getListView().setOnItemLongClickListener(this);getFileDir(rootPath);Button.OnClickListenerlistener_qry=newButton.OnClickListener()publicvoidonClick(Viewarg0)Filefile=newFile(path_edit.getText().toString();if(file.exists()if(f
17、ile.isFile()openFile(file);elsegetFileDir(path_edit.getText().toString();else146.for(intx=0;xFILE_MapTable.length;x+)117./*89.Toast.makeText(MyFile.this,找不到该位置,请确定位置是否正确!,Toast丄ENGTH_SHORT).show();93.94./*设置ListItem被点击时要做的动作*/OverrideprotectedvoidonListItemClick(ListViewl,Viewv,intposition,longid)Fi
18、lefile=newFile(paths.get(position);fileOrDirHandle(file);TOC o 1-5 h z102.103.104./*105.*处理文件或者目录的方法*paramfile*paramflag*/privatevoidfileOrDirHandle(finalFilefile)if(file.isDirectory()getFileDir(file.getPath();elseopenFile(file);116.*取得文件结构的方法*paramfilePath*/privatevoidgetFileDir(StringfilePath)/*设置
19、目前所在路径*/path_edit.setText(filePath);items=newArrayList();paths=newArrayList();sizes=newArrayList();Filef=newFile(filePath);Filefiles=f.listFiles();if(files!=null)/*将所有文件添加ArrayList中*/for(inti=0;ifiles.length;i+)if(filesi.isDirectory()items.add(filesi.getName();paths.add(filesi.getPath();sizes.add();
20、for(inti=0;i0)StringendName=fileName.substring(index,fileName.length().toLowerCase();45.Stringtype=null;117./*74.175.176./支持的格式,才会在文件浏览器中显示if(endName.equals(FILE_MapTablex0)type=FILE_MapTablex1;break;if(type!=null)items.add
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福州理工学院《操作系统》2025-2026学年期末试卷
- 仰恩大学《物流管理学》2025-2026学年期末试卷
- 马鞍山师范高等专科学校《管理运筹学》2025-2026学年期末试卷
- 武夷山职业学院《跨境电商理论与务实》2025-2026学年期末试卷
- 厦门大学《泵与泵站》2025-2026学年期末试卷
- 商户安全生产文案模板讲解
- 天然气处理工安全知识竞赛评优考核试卷含答案
- 自由锻锻工操作规程竞赛考核试卷含答案
- 中药材购销员安全文明强化考核试卷含答案
- 拉床工道德竞赛考核试卷含答案
- 公司员工禁酒管理制度
- DB36-T1446-2021-农村生活污水治理技术指南(试行)-江西省
- T/CRIA 11005-2021涂覆式刺扎自密封轮胎评价规范
- DB32/T 3960-2020抗水性自修复稳定土基层施工技术规范
- 2024-2025学年天津市南开中学高一(下)期中数学试卷(含答案)
- 连接器设计手册
- 2016鼎信消防JB-OB-TS100N火灾报警控制器安装使用说明书
- 通信类设计合同范例
- 电磁信息论白皮书
- GB/T 25632-2024增材制造机床软件数据接口格式
- JJG 703-2003光电测距仪行业标准
评论
0/150
提交评论