基于android平台的视频播放器设计.docx

上传人:b****3 文档编号:4465272 上传时间:2022-12-01 格式:DOCX 页数:16 大小:507.48KB
下载 相关 举报
基于android平台的视频播放器设计.docx_第1页
第1页 / 共16页
基于android平台的视频播放器设计.docx_第2页
第2页 / 共16页
基于android平台的视频播放器设计.docx_第3页
第3页 / 共16页
基于android平台的视频播放器设计.docx_第4页
第4页 / 共16页
基于android平台的视频播放器设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

基于android平台的视频播放器设计.docx

《基于android平台的视频播放器设计.docx》由会员分享,可在线阅读,更多相关《基于android平台的视频播放器设计.docx(16页珍藏版)》请在冰豆网上搜索。

基于android平台的视频播放器设计.docx

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

科信学院

通信终端创新设计(二级项目)

设计说明书

(2012/2013学年第二学期)

 

题目:

___视频播放器____________

专业班级:

通信工程10级一班

学生姓名:

刘建颖宋强李海燕

学号:

****************

1003121

指导教师:

马小进、侯华、刘心、任丹萍

设计周数:

1周

设计成绩:

2013年7月5日

1课程设计概述

······························································································4

1.1课程设计题目·························································································4

1.2课程设计要求·························································································4

2硬件平台搭建·····················································································4

2.1JDK安装·······························································································4

2.2AndroidSDK安装以及系统设置··································································4

2.3Eclipse安装以及ADT工具的安装·······························································4

3软件设计·························································································5

3.1软件布局设计·························································································5

3.2视频文件搜索功能的设计··········································································6

3.3播放控制功能的设计·················································································7

3.4其他功能的设计······················································································7

4软件调试····························································································8

4.1软件在虚拟机上调试及分析········································································8

4.2软件在手机上的调试及分析········································································9

5总结与改进展望···························································································10

6附录··········································································································11

1.课程设计概述

1.1课程设计题目

视频播放器

1.2主要任务

(1)根据技术要求和现有开发环境,分析设计题目

(2)设计系统实现方案

(3)画出主要功能模块的程序流程图

(4)运用Eclipse工具,使用Java语言来实现软件

(5)在Android模拟器或Android真机上调试软件

(6)编写项目设计报告

1.3课程设计要求

(1)设计符合用户使用习惯的操作界面

(2)手机中视频文件搜索功能

(3)视频播放控制功能

(4)选作内容:

支持多种格式的视频文件

2.硬件平台搭建

2.1JDK安装

JDK是Java语言的原创者推出的原始开发环境。

采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。

在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为

2.2AndroidSDK安装以及系统设置

下载好SDK包后,将zip文件解压缩至合适的地方。

在下文中,默认SDK安装目录为$SDK_ROOT。

Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。

如果没有找到设定PATH变量的行,可以自己添加一行:

exportPATH=${PATH}:

<$SDK_ROOT/tools的完全路径>

Mac下,在home目录中找到文件.bash_profile,和Linux的一样处理。

如果还没有在机器上设定这个文件,可以创建一个.bash_profile文件。

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

通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。

需要注意到是,当升级了SDK后,如果安装路径有变动的话,不要忘记了更新PATH变量的设置,将其指向变动后的路径。

配置SDK有两种方法:

第一种,通过SDK下载器自动下载和配置。

适合网络好,下载速度快的情况;第二种,借助工具下载SDK文件,手工配置。

适合网络不是很好,下载速度慢的情况下。

2.3Eclipse安装以及ADT工具的安装

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

Android为Eclipse定制了一个插件,即AndroidDevelpomentTools(ADT),目的是为用户提供一个强大的综合环境用于开发Android应用程序。

ADT扩展了Eclipse的功能,可以让用户快速建立Android项目,创建应用程序界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发行应用程序。

安装ADT:

启动Eclipse,选择Help>InstallNewSoftware,在出现的对话框里,点击Add按钮,在对话框的name一栏输入"ADT",然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件,点击OK。

返回可用软件的视图,你会看到这个插件,然后选择DevelopmerTools,点击Next,最后重启Eclipse。

硬件平台搭建好后,便可以开始创建项目了。

3.软件设计

3.1软件布局设计

此为一个简单的视频播放器,设计的软件需要支持快进、快退、暂停、继续和进度拖曳等功能。

视频播放软件工程文件主要包括src文件夹(Java源码)、res文件夹(资源文件)和AndroidMainfest.xml(程序清单)。

软件主要由Activities组成,每个Activity对应一个模块。

不同的Activity通过Intent进行通信和相互调用。

软件的布局(main.xml)如下:

xmlversion="1.0"encoding="utf-8"?

>

android="

android:

orientation="vertical"

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

>

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="@string/hello"

/>

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="键入文件名称"

android:

textSize="20dp"

/>

android:

id="@+id/edittext"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

/>

android:

id="@+id/starttoplay"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="Openfile"

android:

textSize="20dp"

/>

android:

id="@+id/video"

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

/>

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

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

android:

textSize="20dp"

/>

android:

id="@+id/quit"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

text="Quit"

android:

textSize="20dp"

/>

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

3.2视频文件搜索功能的设计

此程序需要输入文件的绝对路径,例如"/sdcard/video.mp4";输入文件名字之后,点击openfile。

部分程序如下:

if(video.exists()){

videoView.setVideoPath(video.getAbsolutePath());//文件绝对路径

videoView.setMediaController(mediaController);//设置videoView与mediaControler的关联

mediaController.setMediaPlayer(videoView);

videoView.requestFocus();

}

 

3.3播放控制功能的设计

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

 

点击qiut即可退出界面

3.4其他功能的设计

此程序还能处理简单的异常,输入文件后,若文件不存在,会提醒你“很抱歉,您输入的文件不存在,请重新输入”,若文件格式不符合,也会有相应的提示。

部分程序如下:

if(video.exists()){......}

else{

Toast.makeText(VideoPlayerActivity.this,"很抱歉,您输入的文件不存在,请重新输入",Toast.LENGTH_LONG).show();

}

4软件调试

4.1软件在虚拟机上调试及分析

此次调试采用的虚拟机是Android2.1,并且分别导入avi,mp4,mp3等文件进行调试。

一开始系统点击视频播放器的图标进入视频播放器的界面,执行VideoPlayerActivity.java就可以执行视频播放器的操作了:

播放,暂停,快进,快退,退出。

v在调试过程中,遇到了不少问题,大致如下:

1)Unabletoresolvetarget'android-2'

原因:

将一个低版本的Android项目导入到workspace里通常会在第一时间出现这样的错误提示。

解决办法:

将default.properties属性文件中的Projecttarget修改为android-7即可,android2.1对应的API为7.

2)Androidrequirescompilercompliancelevel5.0or6.0.Found'1.7'instead.PleaseuseAndroidTools>FixProjectProperties.

解决办法:

点击菜单栏中的project>properties>JavaCompiler>Enableprojectspecificsettings,将Compilercompliancelevel改为1.6。

3)CouldnotfindvideoPlayer.apk!

解决办法:

点击菜单栏中的project>properties>JavaBuildPath,选择Libraries,点下面的Android2.1,然后点右边按钮Remove,然后apply,然后ok。

再选择project>androidtools>Fixprojectproperties,运行就可以了。

还遇到了许多小小的错误,如向sdcard中导入文件不能使用中文路径,在此不一一列出。

在解决这些问题过程中,更加熟练地掌握了虚拟机的调试方法,最终能成功地播放文件。

在模拟器上大体不错,界面很酷,并且很整齐,功能都可以实现。

下面是在模拟器上的实现:

4.2软件在手机上的调试及分析

播放器的安装:

将程序安装包下载到手机上,在手机中找到videoplay.apk的安装文件,打开文件按指示安装videoplay播放器,并在手机的sd卡中放入相应的音频、视频文件。

文件的播放:

1)安装成功后,直接打开视频播放器,找到音频、视频文件所在地方,按播放器界面提示,输入要播放的文件的绝对路径,打开文件使之播放,在手机上视频播放更为流畅。

流程图如下所示:

文件路径,打开播放器,在第一个输入框中输入要播放的文件的打开路径,点击下方Openfile即可打开文件,手机屏幕上提示显示“点击屏幕获取播放控制键”,按指示点击,跳出控制键,点击播放键,即可听音乐或放视频。

控制小界面上有播放/暂停、上一曲/快退、下一曲/快进控制键,以及播放进度显示条,我们亦可点击进度条,使播放文件迅速跳转到我们需要的地方。

当文件播放完时,屏幕显示跳回到流程图中第三个画面。

而当打开的路径不正确时,屏幕上也会给出错误提示,如第六个图所示。

如若要退出程序,则点击下方的Quit键,即可退出播放器。

2)打开sd卡内文件夹,找到音频、视频文件所在地,直接点击文件,文件即可在播放器中播出。

5总结与改进展望

在此次课程设计中,不仅了解到了android的有关知识,而且学习了Java语言以及eclipse等硬件环境。

有几点需要特别注意:

(1)要明确课程设计的要求,想好系统应该包含哪些功能模块。

否则,在软件设计的后期,再想添加新的功能就需要花费大量的时间。

(2)要对android系统有一定的了解。

在软件设计过程中,大量的用到了android系统的四大组件:

Activity(提供可视化的界面)、Service(运行在后台的服务程序)、BroadcastReceiver(广播事件处理机制)、ContentProvider(使应用程序相互访问数据)。

只有对这些组件熟练掌握后,才能够真正设计出稳健搞笑的多媒体播放器。

(3)要对Java语言熟练掌握。

Android软件开发都是用Java语言写的,而Java又是由类组成的。

而Java语言本身又含有众多机制,只有深刻理解这些机制后,才能轻松地实现自己想要的功能。

(4)要对界面设计有一定的了解。

Android所有的布局都放在了res/layout中,而所有的菜单选项都放在了res/menu中。

合理的布局对人性化的界面也是至关重要的。

(5)要具备快速上网查资料的能力。

面对从没接触过的知识,要有信心才是最重要的。

另外,网上的很多现成的资料都可借鉴、学习。

在熟练理解了别人的应用程序的基础上,再做二次开发。

还需要改进的地方:

1.播放器的播放界面设置较为简单,不够精美和方便,看过班上很多同学设计的播放器有些甚是完整,完全可以在手机上作为专门的媒体播放器使用,可以向他们学习,加以改进,使我们的作品也更完善;

2.只支持.avi,.mp3,.mp4格式的,还应支持.flv等其他格式的;

3.只能播放一个视频,以后还要扩展成能播放多个视频的;

4.播放音频文件时不能显示播放歌曲的歌词,这是一个较大的缺陷,在程序上可以进行补充和调整,对于下载的模拟器中一些功能的调用更全面,可以将之改进;

5.播放音频文件时不能实现播放模式的选择。

个人收获:

1.现学现做的能力。

从图书馆借一些参考光盘,对某项内容的原理大致了解后,直接运行它的源代码,先观察效果,给大脑直接的印象,然后再去理解程序。

2.团队协作意识。

身为团队的一员,必须与自己的队友合作。

尤其是刚开始做时,要将任务分配明确,还要定期监督各自的进度。

3.上网查资料的能力。

网络是一个十分强大的信息工具。

网上有大量的Android参考资料以及很多著名的Android论坛,这上面为我提供了大量的有用信息。

尤其是碰到错误时,上网搜一搜,能很快找到解决办法。

4.英语阅读能力。

因为很多资料都是起源于国外,而很多参考书也是英文的。

此外,Android官网以及著名的Android论坛都是英文版,此外,具备一定的英语阅读能力也是非常重要的。

5.与同学间的交流探讨。

此次我们团队为三个人,大家经常交流,有助于开拓自己的思维,取长补短,共同解决碰到的问题,这正是一个相互学习的过程。

6附录

vVideoPlayerActivity.java:

packageLd.videoPlayer;

importjava.io.File;

importandroid.app.Activity;

importandroid.graphics.PixelFormat;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.EditText;

importandroid.widget.MediaController;

importandroid.widget.Toast;

importandroid.widget.VideoView;

publicclassVideoPlayerActivityextendsActivity{

/**Calledwhentheactivityisfirstcreated.*/

VideoViewvideoView;

privateStringfielname;

MediaControllermediaController;

EditTexteditText;

ButtonopenButton;

ButtonqiutButton;

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

//publicWindowgetWindow()返回当前activity的window

//voidandroid.view.Window.setFormat(intformat)

//publicvoidsetFormat(intformat)设置窗口的像素格式

//PixelFormat.TRANSLUCENT透明格式

getWindow().setFormat(PixelFormat.TRANSLUCENT);

setContentView(R.layout.main);

videoView=(VideoView)findViewById(R.id.video);

editText=(EditText)findViewById(R.id.edittext);

openButton=(Button)findViewById(R.id.starttoplay);

openButton.setOnClickListener(newstartlistener());

qiutButton=(Button)findViewById(R.id.quit);

qiutButton.setOnClickListener(newqiutlistener());

mediaController=newMediaController(this);

/*

Filevideo=newFile("/sdcard/re.mp4");

//若文件被找到

if(video.exists()){

videoView.setVideoPath(video.getAbsolutePath());//文件绝对路径

videoView.setMediaController(mediaController);//设置vide

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1