基于android平台的视频播放器设计答辩ppt

  • 格式:ppt
  • 大小:4.13 MB
  • 文档页数:20

下载文档原格式

  / 20
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
发出广播
电量过低、网络改变
接收感兴趣的事件 广播 接收者
2.启动Service
3.NotificationManager
视 频 播 放 器 结 构
基于Android平台的视频播放器设计
• 1.启动界面
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"
Android四大组件
1.Activity组件
2.Service组件 3.Content Provider (内容提供者)
4.BoardcastReceiver (广播接收者)
源自文库
Android四大组件
• 1.Activity组件
( 1 )一个 Activity 通常就是一个单独的屏幕 (窗口)。
(2)Activity之间通过Intent进行通信。
• 6.自定义对话框
当用户长按视频列表中的视频条目的 时候,弹出自定义对话框并使背景变暗。 如右图。 视频的删除按钮则是通过 file.delete() 方法,删除指定的视频文件然后刷新视频 列表。
• 7.退出程序
private void exit() { android.os.Process.killProcess(android.os.Process.myPid()); // 获取PID System.exit(0); // 常规java、c#的标准退出法,返回值为0代表正常退出
Service Activity
相同之处 不同之处 有完整的逻辑功能 后台活动,无用户界面 接收相关的指令完成相应 前台活动,有用户界面 的事件
Android四大组件
• 3.Content Provider (内容提供者) Android 平台内置了一套 SQLite 数据储存机制,并且包含一系列管理 SQLite Database的相关方法。 这样设计的好处是一个Content Resolver可以访问任何的Content provider, 统一了接口。 Android 应用 程序
RockPlayer,是由上海的ChangeTec.h公司开发,RockPlayer 是一款比较高效能的视频播放器,能支持多数的视频格式,具 有个性化的UI布局和设计,可以和其云端的服务相配合,用户 之间可以分享视频。
RealPlayer,和PC上的RealPlayer是一样的,andriod上的 RealPlayer也是由RealNetworks公司研究开发的,能同时播 放音乐,视频,照片,但是解码能力不是很全面。
基于Android平台的视频播放器设计
班 级:2012.卓越
指导老师:曾晓辉、胡嵩、刘兴忠 学 生:徐东
目的与意义
可移植性
Android
开放性
手机 平板 高清播放机 智能电视 本次开发设计 功能全面
目前市面上的播放器 功能繁复 占用内存大 嵌入过多广告
操作简单
内存占用小
解码能力强
Content providers
Content provider
SQLite
(Content Resolver)
共享数据
其它 程序
Android四大组件
• 4.BoardcastReceiver (广播接收者) 广播接收器是用于接收广播消息通知,然后做出相应的处理,对外部事件 进行过滤,只对感兴趣的外部事件进行接收并做出响应。 广播接收器没有用户界面。然而,它们可以启动一个activity或serice来响 应它们收到的信息,或者用NotificationManager来通知用户。 1.启动Activity 系统 或 应用
builder.setTitle("提示信息");
builder.setMessage("怎样操作?"); builder.setPositiveButton("上一集", new OnClickListener() {
public void onClick(DialogInterface
dialog, int which) { Position--; nextplay.sendEmptyMessageDelayed(0,200); } });
有可移植性和易扩展性。操作简单,功能全面,具有良好的用户体验。
谢谢
android:layout_width="match_parent" android:layout_height="wrap_content" android:cacheColorHint="#00000000"
android:divider="#008000"
android:dividerHeight="1dp" android:listSelector="#afeeee" > </com.xudong.videoview.adapter.ReFlashListView>
(3)都必须要在AndroidManifest.xml配置文 件 中声 明 ,否 则系 统将不 识别 也不执 行该 Activity。
Android四大组件
• 2.Service组件
Service的进程模型可以由开发者自由配置的,可以把该组件运行在同一进程中 ,或者不同的进程中。当希望吧Service运行在和调用的组件不同的进程中的时候,则 需要利用Android所提供的RPC机制,部署一套进程之间通信的策略。
• 5.上下选集
mVideoView.setOnCompletionListener(mCompletionListener); //监听播放完成 public void playhint( int postion) { AlertDialog.Builder builder = new Builder(this);
测试
• 1.功能测试
测试内容 测试结果 • 2.主观测试:
当用户点击桌面的视频播放器图标后
,先出现了启动欢迎画面,然后显示该视频 播放器能够播放的视频文件,便于用户快速 查找想要播放的文件。用户点击列表中的文 件,随即进入了播放界面,跳转过程时间短
播放暂停 进度条拖拽 上一集 下一集 返回 删除文件 查看详细信息 视图转换 下拉刷新
• 4.手势控制
通过在播放界面左边1/3部分上下滑动调节屏幕亮度,
通过在屏幕右边1/3部分上下滑动调节音量的大小
该应用程序使用vitamio提供的公共Api,以达到方便快 捷的实现该功能。我们在主程序中通过如下方法直接添 加控制台。 mVideoView.setMediaController(new MediaController(this)); // 控制器
现状
是由济南四叶草信息技术有限公司开发的,MoboPlayer需要 在Android1.6或更高的版本上运行,MoboPlayer可以兼容更多的 视频格式,并且努力的实现了任何视频格式都可以直接放在手机 上播放。被称为“Android平台的万能播放器”。
最初由个人制作,后来组成团队。VPlayer是一款很较为流行 的视频播放器,VPlayer的特点是支持多数格式的视频,启动 后直接进入视频文件夹,就可是对视频进行播放,使用方便等。
android:background="@drawable/app_bg3"
android:orientation="vertical" > </LinearLayout>
• 2.列表界面
<com.xudong.videoview.adapter.ReFlashListView
android:id="@+id/filelistview"
• 3.播放界面
mVideoView = new VideoView(this); mVideoView.requestFocus(); // 获取焦点,只能依附于view内部 再通过bundle.getInt(key) 方法接收从 列表传过来的视频位置信息,从而获 取视频绝对文件路径,并通过 VideoView.setVideoPath(path)方法把 路径设置到Videoview中,然后通过 mVideoView.start()方法播放获取到路 径的视频文件。
通过 通过 通过 通过 通过 通过 通过 通过 通过
,是用户能够接受的范围。在播放的时候音
视频没有不同步,没有出现花屏和卡顿的现 象。亮度和音量能够快速方便的调节,各个 功能都能正常实现预期的效果。
总结
• 本次软件的开发与设计,对软件的系统框架经过了精心的设计,本 次开发主要采用Eclipse开发软件和Java编程语言,首先是对开发环 境的配置,包括Android SDK 和JDK的安装,在这基础上才能对应 用进行编写。 • 视频播放器的基本功能:视频列表的浏览、播放、暂停、上下选集 等功能、运行在Android系统平台上,通过Java语言编写的程序。具
long blockSize = sf.getBlockSize();// Block 的 size long blockCount = sf.getBlockCount();// 总 Block 数量 long availCount = sf.getAvailableBlocks();// 可用的 文 件系统块 数量