Android课程设计之视频播放器

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>能够在手机上使用该系统

 

三、 设计原理及方案

使用的软件工具和环境

 

1JDK安装

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);

}

});

 

展开阅读全文

没有更多推荐了,返回首页