CSDN下载:https://download.csdn.net/download/eseszb/10463442


移动互联网开发

 

课程设计报告

学生姓名:学 号:

专业:计算机科学与技术 班级:

设计题目:本地视频播放器

学年学期:年季学期

指导教师:

 

 

 

目      录

一、 设计题目 1

二、 设计目的 1

三、 设计原理及方案 1

1 使用的软件工具和环境 1

2 需求分析与概要设计 1

3 详细设计和关键问题 1

四、 实现效果 1

五、 设计体会 1

参 考 文 献3

 

一、 设计题目

一个基于Android平台的本地视频播放器

 

二、 设计目的

 

开发出一个简单的本地视频播放器,并实现以下功能:

<1>能够播放.avi, .mp4等文件  

<2>对视频文件进行播放、暂停、快进、快退

<3>能处理简单的异常,例如文件不存在等

<4>能正常启动,退出  

<5>能够在手机上使用该系统

 

三、 设计原理及方案

使用的软件工具和环境

(1)JDK安装

JDK是Java语言的原创者推出的原始开发环境。采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为http://www.oracle.com/technetwork/indexes/downloads/index.html,也可从其他网站下载。下载完成后,双击运行JDK安装程序并根据提示设定环境变量。

 

 

(2) Android SDK安装以及系统设置

下载好SDK包后,将zip文件解压缩至合适的地方。在下文中,默认SDK安装目录为$SDK_ROOT 。

Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。如果没有找到设定PATH变量的行,可以自己添加一行: export PATH=${PATH}:<$SDK_ROOT/tools的完全路径>

Mac下,在home目录中找到文件.bash_profile,和Linux的一样处理。如果还没有在机器上设定这个文件,可以创建一个.bash_profile文件。

Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加入其中。

 

 

通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。需要注意到是,当升级了SDK后,如果安装路径有变动的话,不要忘记了更新PATH变量的设置,将其指向变动后的路径。

配置SDK有两种方法:第一种,通过SDK下载器自动下载和配置。适合网络好,下载速度快的情况;第二种,借助工具下载SDK文件,手工配置。适合网络不是很好,下载速度慢的情况下。

 

 

(3)  Eclipse安装以及ADT工具的安装

 下载Eclipse安装包后,无需安装,只需解压缩,点击“eclipse.exe”文件即可运行。

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

软件开发环境搭建好后,便可以开始创建项目了。

 

需求分析与概要设计

为了开发出用户所需要的软件产品,对将要开发的软件进行需求分析是软件开发中非常重要的环节,本章对视频播放器做相关的需求分析。需求分析的任务是定义系统应该做些什么事,完成什么样的工作,也是对目标应用程序提出准确、完整、具体、清晰的要求

(1)视频播放器概述

随着手机的叠层出新,视频播放器以成为Android智能机重要软件之一,开发出一款广大用户需求的视频播放器是很有市场前景和意义的,本次设计是基于Java语言进行嵌入式播放器开发,程序简单并且占用空间小,但功能齐全。

实现目标:

<1>能够播放.avi, .mp4等文件

<2>对视频文件进行播放、暂停、快进、快退

<3>能处理简单的异常,例如文件不存在等

<4>能正常启动,退出

<5>能够在手机上使用该系统

(2)软件功能

视频播放器的主界面是用户在手机桌面点击图标后打开的界面,该界面显示视频列表,播放器的播放界面则是用于视频播放的界面,该界面的主要功能包括播放、暂停、快进、快退

,并且有进度条显示播放的进度。总之用户界面设计是以人为中心,使产品达到简单使用和愉悦使用的设计,视频播放器的界面用例图如下图所示

下面对播放器的界面用图例说明

(1) 播放功能:当软件正在运行,用户可以播放列表中的视频

其事件流:①用户输入列表中的视频  ②播放器播放列表中的视频

(2) 暂停功能:当视频正在播放且没有暂停和停止,用户可以暂停正在播放的视频

其事件流:①用户单击“暂停”按钮  ②播放器将暂停当前播放的视频。

(3) 播放列表:当程序正在运行,用户可以进入播放清单。

其事件流:①用户单击启动软件      ②播放器进入播放列表。

(4) 快进快退:当视频播放后,用户可以拖动进度条

其事件流:①用户左滑快退 ②用户右滑快进

视频播放流程图如下:

点击退出

3 详细设计和关键问题

对事件按钮进行监听,完成每个按钮的功能,以及代码编写

(1)软件的布局

此为一个视频播放器,设计的软件需要支持快进、快退、暂停、继续和进度拖曳等功能。视频播放软件工程文件主要包括src文件夹(Java源码)、res文件夹(资源文件)和AndroidMainfest.xml(程序清单)。软件主要由Activities组成,每个Activity对应一个模块。不同的Activity通过Intent进行通信和相互调用。软件的布局(main.xml)如下:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

<TextView  

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />

<TextView  

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="键入文件名称"

    android:textSize="20dp"

    />    

<EditText

android:id="@+id/edittext"

android:layout_width="fill_parent"

    android:layout_height="wrap_content"

/>

<Button

android:id="@+id/starttoplay"

android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="Open file"

    android:textSize="20dp"

/>

<VideoView

android:id="@+id/video"

android:layout_width="fill_parent"

    android:layout_height="fill_parent"

/>

<TextView  

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="       点击界面获取播放控制键"

    android:textSize="20dp"

    />

<Button

android:id="@+id/quit"

android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="Quit"

    android:textSize="20dp"

/>

</LinearLayout>

布局主体为LinearLayout,由多个TextView、Button等类组成。

  (2)  视频文件搜索功能

此程序需要输入文件的绝对路径,例如"/sdcard/video.mp4";输入文件名字之后,点击open file,即可搜索到你想要播放的视频,部分程序如下:

 private void doSearch(String path) {

File file = new File(path);

 

if (file.exists()) {

if (file.isDirectory()) {

File[] fileArray = file.listFiles();

for (File f : fileArray) {

if (f.isDirectory()) {// 判断是否文件夹

// 文件夹为true

doSearch(f.getPath());

} else {

if (f.getName().endsWith("mp4") || f.getName().endsWith("3gp")) {

VideoListBean bean = new VideoListBean();

bean.setVideo_name(f.getName());

bean.setVideo_path(f.getAbsolutePath());

Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(f.getAbsolutePath(), Thumbnails.MINI_KIND);

if (bitmap != null) {

bitmap = Bitmap.createScaledBitmap(bitmap, bitmap.getWidth() * 300 / bitmap.getHeight(), 300, true);

bean.setVideo_imgbg(bitmap);

}

list.add(bean);

}

}

}

}

}

}

 

 

(3)  播放控制功能

 在打开播放文件之后,点击画面的空白部分,这时会弹出视频播放控制按钮,分别是后退、播放/暂停和前进,可以对视频播放时间轴进行拖曳。

/** 点击事件 */

private void widgetListener() {

/** 列表点击事件 */

listview.setOnItemClickListener(new OnItemClickListener() {

 

@Override

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

index_position = position;

txt_max_time.setText(R.string.play_time);

img_start.setImageResource(R.drawable.start_video_df);

video_VideoView.stopPlayback();

setVideo(position);

}

});

 

Android课程设计之视频播放器相关推荐

  1. 音频播放器android课程设计,Android课程设计:Android音乐播放器的设计与实现

    内容简介: Android课程设计:Android音乐播放器的设计与实现,共21页,7729字,附源程序等. 摘要:本文主要介绍了一个基于Andriod的音乐播放器的设计与实现.主要包括可行性分析,需 ...

  2. Android课程设计大作业-音乐播放器

    Android课程设计大作业-音乐播放器 一.**主要实现界面效果** 1)登录界面 2)音乐列表界面 3)音乐播放界面 二.**系统设计** 1)使用Service播放音乐 2) 前台界面(Acti ...

  3. Android课程设计(健康管理软件开发)

    Android 课程设计 Android开发使用软件(RecyclerView+ListView+SQLite) 一个实用的健康管理软件,可以查询各种食物的热量,每天健身打卡,发表动态,可以点击图片链 ...

  4. Android进阶:自定义视频播放器开发(上)

    随着快手,抖音,西瓜视频等视频APP的崛起,视频播放已经成为主流,此时作为Android研发的你,想要提高自己的能力还不知道怎么开发视频播放器怎么行?所以今天就带着大家一起开发一个简易播放器:Smal ...

  5. Android进阶:自定义视频播放器开发(下)

    上一篇文章我们主要讲了视频播放器开发之前需要准备的一个知识,TextureView,用于对图像流的处理.这篇文章开始构建一个基础的视频播放器. 一.准备工作 在之前的文章已经说过了,播放器也是一个vi ...

  6. Android Video Player. 安卓视频播放器,封装 MediaPlayer、ExoPlayer、IjkPlayer。模仿抖音,悬浮播放,广告播放,列表播放,弹幕

    DKVideoPlayer 项目地址:dueeeke/DKVideoPlayer 简介: Android Video Player. 安卓视频播放器,封装 MediaPlayer.ExoPlayer. ...

  7. Android课程设计--网上购物商城

    Android的特征: 提供访问硬件的API函数,简化访问过程等 具有自己的运行时和虚拟机 提供了丰富的界面控件供使用者之间调用,加快用户界面的开发速度,保证Android平台上程序界面的一致性 提供 ...

  8. java蜂鸣节拍器_电子课程设计-电子节拍器的设计.doc

    电子课程设计-电子节拍器的设计 通 信 工 程 专业 课程设计题单 班级 学生 孙伟杰 课程名称 电子课程设计 课 题 电子节拍器的设计 设计要求 节拍器具有声光显示功能:设有2/4,3/4,4/4三 ...

  9. C语言课程设计-Mp3播放器(1)

    C语言课程设计-MP3播放器 要求:做一个MP3播放器,实现播放,暂停,随机播放模式,单曲循环模式,循序播放模式,查找播放. 问题1:怎么获取音频文件? 可以使用_findfirst函数(链接:_fi ...

最新文章

  1. SQLServer特殊字符/生僻字与varchar
  2. sftp 服务器外网访问设置
  3. 定量遥感:计算地方时和太阳高度角(C++代码)
  4. Vue.js之初印象
  5. C语言库函数大全及应用实例三
  6. Appium+python自动化17-启动iOS模拟器APP源码案例
  7. SQL Prompt10 安装激活教程,让你写sql 如鱼得水
  8. 最全面详细讲解Oracle入门(新手必看)
  9. openstack平台虚拟机vip设置
  10. 王者荣耀是怎样炼成的(三)unity组件与脚本
  11. 基于西储大学的轴承故障诊断系统设计
  12. 皇子皮肤测试软件,买了皇子的SSG皮肤,说一下特效和手感,顺便说下皇子各个皮肤排名。...
  13. 深度学习环境搭建(ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn+其他软件)
  14. python Django 快捷键
  15. 水果店开业朋友圈,水果店开业朋友圈宣传
  16. python的numpy库安装_Python库之numpy库的安装教程
  17. 分布式系统-共识协议
  18. 帝国霸略老显示服务器连接失败,帝国霸略怎么玩?新手必看技巧攻略[图]
  19. java 庖丁解牛_“庖丁解牛” 分词器实现
  20. oracle连接失败的原因总结

热门文章

  1. 记录一下今天安装tomcat时遇到的问题(初学者笔记)
  2. delphi 裁剪mp3_如何编辑mp3文件详细信息(Delphi)
  3. windows 2003 自带tftp32设置方法
  4. java 开发metro_JavaFX Metro UI 和 开发库使用简介
  5. Windows Vista Ultimate OEM 21in1 简体中文版(终结版)
  6. Linux目录权限管理
  7. SyntaxHighlighter 设置
  8. 西门子PLC地址的分配方式有哪些?
  9. 祛痘产品微商怎么引流?祛痘产品如何引流精准客户
  10. 量化交易学习系列13-系统交易的职业道路是什么