android应用开发设计报告.docx

上传人:b****5 文档编号:3409062 上传时间:2022-11-22 格式:DOCX 页数:11 大小:337.12KB
下载 相关 举报
android应用开发设计报告.docx_第1页
第1页 / 共11页
android应用开发设计报告.docx_第2页
第2页 / 共11页
android应用开发设计报告.docx_第3页
第3页 / 共11页
android应用开发设计报告.docx_第4页
第4页 / 共11页
android应用开发设计报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

android应用开发设计报告.docx

《android应用开发设计报告.docx》由会员分享,可在线阅读,更多相关《android应用开发设计报告.docx(11页珍藏版)》请在冰豆网上搜索。

android应用开发设计报告.docx

android应用开发设计报告

Android应用设计报告

 

题目:

视频播放器应用设计

 

班级:

计111

学号:

110773110776110774110768

姓名:

李洋宇葛一波李昀晟周盛蓁

成绩:

 

2013年3月30日·北京

信息工程学院计算机科学与技术专业

一.需求分析

Android应用面向的是普通个体用户,这些用户往往会更加关注用户体验,因此Android应用增加动画、视频、音乐等多媒体功能十分必要。

就目前的手机发展趋势来看,手机已经不再是单一的通讯工具,已经发展成集照相机、音乐播放器、视频播放器、个人小型终端于一体的智能设备,因此为手机提供音频录制、播放,视频录制、播放的功能十分重要,Android支持的音频格式有MP3、WAV和3GP等。

更多的手机用户希望在工作、学习之余通过方便灵巧可随身携带的仪器休闲娱乐。

因此为了迎合众多用户的需求并适应现在的手机的规模,我们提出了一款视频播放器,可播放一些常见格式的视频文件。

二.功能模块

三.界面设计

1.桌面图标

2.待播放界面

3.开始播放

4.暂停播放

四.分工说明

李洋宇:

编辑main代码,进行事件监听编写,文件导入

周盛蓁:

编辑layout(.xml)文件

葛一波:

程序注释,程序测试

李昀晟:

书写报告,功能检测

五.开发过程问题分析

1.界面中暂时只能实现3个功能,界面简单

2.文件只能导入.3gp格式的文件

3.在虚拟机中不能运行,必须在android2.3以上的版本才能运行

4.SD卡读取路径出现的问题,未能识别

5.软件图标对不同像素的要求

六.代码注释

1.main.xml代码注释

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

>

xmlns:

android="

android:

orientation="vertical"

android:

layout_width="fill_parent"

android:

layout_height="fill_parent"

>

android:

id="@+id/surfaceView"

android:

layout_width="fill_parent"

android:

layout_height="360px"

/>

android:

orientation="horizontal"

android:

layout_width="fill_parent"

android:

layout_height="wrap_content"

android:

gravity="center_horizontal"

>

android:

id="@+id/play"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

src="@drawable/play"

/>

android:

id="@+id/pause"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

src="@drawable/pause"

/>

android:

id="@+id/stop"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

src="@drawable/stop"

/>

 

2.strings.xml代码注释

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

>

HelloWorld,SurfaceViewPlayVideo!

PP播放器

 

3.Surfacevideoplay.java代码注释

packageorg.crazyit.sound;

importjava.io.IOException;

importandroid.app.Activity;

importandroid.media.AudioManager;

importandroid.media.MediaPlayer;

importandroid.os.Bundle;

importandroid.view.SurfaceHolder;

importandroid.view.SurfaceView;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.ImageButton;

/**

*Description:

*
site:

//www.crazyit.org">crazyit.org

*
Copyright(C),2001-2012,Yeeku.H.Lee

*
Thisprogramisprotectedbycopyrightlaws.

*
ProgramName:

*
Date:

*@authorYeeku.H.Leekongyeeku@

*@version1.0

*/

publicclassSurfaceViewPlayVideoextendsActivity

implementsOnClickListener

{

SurfaceViewsurfaceView;

ImageButtonplay,pause,stop;

MediaPlayermPlayer;

//记录当前视频的播放位置

intposition;

@Override

publicvoidonCreate(BundlesavedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//获取界面中的3个按钮

play=(ImageButton)findViewById(R.id.play);

pause=(ImageButton)findViewById(R.id.pause);

stop=(ImageButton)findViewById(R.id.stop);

//为3个按钮的单击事件绑定事件监听器

play.setOnClickListener(this);

pause.setOnClickListener(this);

stop.setOnClickListener(this);

//创建MediaPlayer

mPlayer=newMediaPlayer();

surfaceView=(SurfaceView)this.findViewById(R.id.surfaceView);

//设置SurfaceView自己不管理的缓冲区

surfaceView.getHolder().setType(

SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

//设置播放时打开屏幕

surfaceView.getHolder().setKeepScreenOn(true);

surfaceView.getHolder().addCallback(newSurfaceListener());

}

@Override

publicvoidonClick(Viewsource)

{

try

{

switch(source.getId())

{

//播放按钮被单击

caseR.id.play:

play();

break;

//暂停按钮被单击

caseR.id.pause:

if(mPlayer.isPlaying())

{

mPlayer.pause();

}

else

{

mPlayer.start();

}

break;

//停止按钮被单击

caseR.id.stop:

if(mPlayer.isPlaying())

mPlayer.stop();

break;

}

}

catch(Exceptione)

{

e.printStackTrace();

}

}

privatevoidplay()throwsIOException

{

mPlayer.reset();

mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

//设置需要播放的视频

mPlayer.setDataSource("/mnt/sdcard/test/bipt.3gp");

//把视频画面输出到SurfaceView

mPlayer.setDisplay(surfaceView.getHolder());

mPlayer.prepare();

mPlayer.start();

}

privateclassSurfaceListenerimplementsSurfaceHolder.Callback

{

@Override

publicvoidsurfaceChanged(SurfaceHolderholder,intformat,intwidth,

intheight)

{

}

@Override

publicvoidsurfaceCreated(SurfaceHolderholder)

{

if(position>0)

{

try

{

//开始播放

play();

//并直接从指定位置开始播放

mPlayer.seekTo(position);

position=0;

}

catch(Exceptione)

{

e.printStackTrace();

}

}

}

@Override

publicvoidsurfaceDestroyed(SurfaceHolderholder)

{

}

}

//当其他Activity被打开,暂停播放

@Override

protectedvoidonPause()

{

if(mPlayer.isPlaying())

{

//保存当前的播放位置

position=mPlayer.getCurrentPosition();

mPlayer.stop();

}

super.onPause();

}

@Override

protectedvoidonDestroy()

{

//停止播放

if(mPlayer.isPlaying())

mPlayer.stop();

//释放资源

mPlayer.release();

super.onDestroy();

}

}

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

当前位置:首页 > 小学教育 > 其它课程

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

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