基于Android的多功能视频播放器的系统设计
- 格式:doc
- 大小:456.50 KB
- 文档页数:15
文档编号:基于Android的多功能视频播放器系统设计说明书目录1引言 (4)1.1目的 (4)1.2适用围 (4)2系统架构 (5)2.1硬件架构 (5)2.2软件架构 (9)3完整功能结构图 (11)4系统数据库设计 (11)4.1 E-R图设计 (11)4.2字段设计 (11)4.2.1本地视频文件记录表 (11)4.2.2历史播放文件表 (12)4.2.3 收藏文件表 (12)5视频播放器部署图 (13)6 系统需求 (13)6.1系统界面需求 (13)6.2系统性能需求 (13)6.1系统开发环境需求 (14)7视频播放器流程图 (14)1引言1.1目的本文档是多通道同步数字记录仪升级换代项目的系统设计文档。
从系统的高层角度对系统的硬件架构、软件架构、网络架构、系统部署、系统运行方式进行设计,为下一步各个模块的详细设计提供系统级的视图。
1.2适用围本文用于描述多通道同步数字记录仪升级换代项目的系统设计,给出系统的主要架构与配置项,对相关运行、数据、用户接口、容错与复用和重要模块进行分析,作为项目后续详细设计与开发实现的依据。
本说明书的阅读对象为:跟我们同龄的有一定基础的大学生,以及相关的项目开发人员等等。
.. .. ..2系统架构2.1硬件架构2.1.1 JDK安装JDK是Java语言的原创者推出的原始开发环境。
采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。
在Windows上安装JDK非常简单,访问Oracle官方下载页面,网址为www.oracle./technetwork/indexes/downloads/index.html,也可从其他下载。
下载完成后,双击运行JDK安装程序并根据提示设定环境变量。
2.1.2 Android SDK安装以及系统设置下载好SDK包后,将zip文件解压缩至合适的地方。
在下文中,默认SDK安装目录为$SDK_ROOT 。
2020.03.27 v1.2.0 beta版:更新说明:一、完美支持android1.五、android1.六、android2.0、android2.0一、android2.1平台;2、完美支持320×480、480×800、480×854等各类分辨率(自适应屏幕分辨率);3、支持在线音视频播放,支持URL input和从浏览器调用SeeJoPlayer播放器播放在线音视频;4、自动转为横屏播放,为用户提供更好的观看体验;5、修改了没有SD卡程序出错的Bug;6、美化了视频播放列表和操作说明的界面。
第一部份:功能介绍SeeJoPlayer的优势要紧在相对还算美观的界面和便利的交互操作上。
先说操作吧,它支持:一、全屏切换: 双击屏幕二、播放/暂停: 长按屏幕3、静音/恢复: 长按音量按钮4、播放列表: 操纵面板最右边的按钮(暂不支持编辑功能)五、音量调剂: 单击音量按钮,在弹出的音量显示区域触摸改变音量这些操作和PC上的播放器较为类似,希望大伙儿能用得适应。
至于界面的话,多说无益,直接上图吧:第二部份:源码解析一、VideoView与视频比例缩放:咱们能够很方便的取得VideoView的源代码,最简单的方式是直接在上找“.java”。
因此重写VideoView的进程其实只是在原先的基础上进行一些修改罢了,并非一个很麻烦的工作。
什么缘故Android自带的VideoView会维持视频的长宽比而不能让咱们很方便的自概念比例呢?我猜想可能Google 做Android也是一个很仓促的工程,许多代码并无考虑得太成熟。
VideoView的源码中有如此一段代码:1 @Override2 3 4 5 6 7 8 9101112131415161718192021222324252627protectedvoid onMeasure(int widthMeasureSpec, int heightMeasureSpec){//Log.i("@@@@", "onMeasure");int width = getDefaultSize(mVideoWidth, widthMeasureSpec);int height = getDefaultSize(mVideoHeight, heightMeasureSpec);if(mVideoWidth >0&& mVideoHeight >0){if( mVideoWidth * height > width * mVideoHeight ){//Log.i("@@@", "image too tall, correcting");height = width * mVideoHeight / mVideoWidth;}elseif( mVideoWidth * height < width * mVideoHeight ){//Log.i("@@@", "image too wide, correcting");width = height * mVideoWidth / mVideoHeight;}else{//Log.i("@@@", "aspect ratio is correct: " +//width+"/"+height+"="+//mVideoWidth+"/"+mVideoHeight);}}//Log.i("@@@@@@@@@@", "setting size: " + width + 'x' + height); setMeasuredDimension(width, height);}这确实是什么缘故长宽比不能改变的缘故了。
基于Android的视频播放器的设计与实现基于Android的视频播放器的设计与实现中文摘要如今,随着基于Android操作系统的智能手机的广泛应用,视频播放器已成为智能手机的一个必不可少的程序,广大用户迫切需要一个贴近用户、方便用户、个性化的视频播放器。
因此,设计一个基于android手机的多功能播放器,具有重要的实际意义。
本次毕业设计主要使用JDK + Eclipse + Android-SDK-Windows工具进行开发,使用的编程语言是Java语言。
该程序主要由4个不同Activity来实现,每个Activity实现相应的功能模块,能够有效满足Android手机用户在视频播放中的常见需求。
本论文详细介绍了播放器程序的设计思路、设计方案、系统结构和项目工程结构,对系统的可行性与需求性进行了详细的分析,阐述了系统各个模块功能的设计与实现。
对程序主要的Activity都进行了详细的介绍和分析,包括对其使用的布局文件的具体介绍,以及各个控件的作用。
在最后进行了程序测试,对每一个实现的模块功能都做了测试,并且记录了大量截图用来展示测试结果,以观察程序应有的功能是否正常运行,以及发现程序中可能存在的问题。
所开发的程序界面比较友好,操作相对容易,达到设计要求。
关键词:安卓;视频播放;Activity;MediaplayerThe Design and Implementation of Video Player Based on AndroidABSTRACTNow, with the wide application of smart phone based on the Android operating system, video player has become the essential application of smart phone. Most of consumers urgently require a personalized video player which is close to user and facilitate user. Therefore, the design of a multifunctional player based on android mobile phones has an important practical significance.The project design is developed by using JDK, Eclipse, and Android-SDK-Windows tools. The programming language is Java. The program consists of four different Activities and each Activity achieves the corresponding functional modules which can effectively satisfy the common requirements for playing video on Android mobile phones.This paper introduced the design ideas, design scheme, system architecture and project engineering structures of video player. The feasibility and requirements of system were analyzed in detail. The system function and each module were explained. The main Activity of the program are described and analyzed in detail including the using layout file, as well as the role of each control. Finally, I made the test for the program including the functions of each implemented modules. In order to observe whether the program should function properly and find the problems that may exist in the program, many screenshots were saved to demonstrate the test results. The developed program has a friendly interface and can be operated relatively easy, which has achieved the design requirement.KEY WORDS: Android; Video Play; Activity; Mediaplayer目录中文摘要 ...................................................................... ABSTRACT ...................................................................... 目录 (I)第一章绪论 01.1课题的来源及意义 01.2 ANDROID发展现状及前景 01.3项目的主要工作和解决的问题 (1)1.4系统设计的目标及基本思路 (2)1.5论文组织结构 (2)第二章 ANDROID视频播放器相关技术介绍 (3)2.1 ANDROID介绍 (3)2.2 ANDROID开发平台及相关技术 (4)2.2.1 ANDROID-WINDOWS开发环境 (4)2.2.2 MEDIAPLAYER视频技术 (5)2.2.3 SURFACE、SURFACEVIEW、SURFACEHOLDER三者之间的关系 (8)第三章系统分析及系统结构设计与实现 (10)3.1系统分析 (10)3.1.1系统可行性分析 (10)3.1.2 系统需求分析 (10)3.2系统结构设计 (11)第四章测试 (16)4.1测试环境和条件 (16)4.2测试 (16)4.3测试结果分析 (25)结论 (27)参考文献 (28)附录 (30)第一章绪论1.1课题的来源及意义在这个信息化的时代,IT业已经成为世界发展的主流,我们对信息技术的依赖远远超过了对我们自己的依赖,计算机和手机已经成为我们日常生活中不可缺少的获得信息的渠道。
《基于Android平台的显示屏控制系统的设计》篇一一、引言随着科技的快速发展,Android平台因其强大的功能与广泛的用户基础,已成为众多应用开发的首选平台。
显示屏控制系统作为现代电子设备的重要组成部分,其设计也日益趋向于智能化、便捷化。
本文将探讨基于Android平台的显示屏控制系统的设计,旨在实现更高效、更便捷的显示设备控制体验。
二、系统需求分析1. 功能性需求:系统需具备对显示屏的基本控制功能,如开关机、亮度调节、色彩调整等。
同时,还需支持多媒体内容的展示,如图片、视频等。
2. 用户体验需求:系统界面应简洁明了,操作应简便快捷,以降低用户的学习成本。
此外,系统还应具备良好的兼容性和稳定性,以满足不同设备和用户的需求。
3. 安全性需求:系统需保证数据传输的安全性,防止未经授权的访问和操作。
同时,对于用户输入的敏感信息,系统应采取加密措施以保护用户隐私。
三、系统设计1. 硬件设计:基于Android平台的显示屏控制系统硬件主要包括Android智能设备(如手机、平板等)和显示屏设备。
硬件设计需考虑设备的兼容性、功耗、接口等因素。
2. 软件设计:软件设计包括Android端应用开发和显示屏端控制程序设计。
Android端应用负责用户界面展示、用户操作处理和与显示屏端控制程序的通信。
显示屏端控制程序负责接收Android端的应用指令,实现对显示屏的控制。
四、关键技术实现1. 通信技术:系统采用蓝牙、Wi-Fi或USB等通信技术实现Android端与显示屏端的通信。
这些技术具有传输速度快、稳定性好、兼容性强等优点,可满足系统的通信需求。
2. 界面设计:Android端应用界面应简洁明了,操作便捷。
可采用流行的UI设计风格,如扁平化设计,以提高用户体验。
同时,界面应支持自定义,以满足不同用户的需求。
3. 控制算法:系统需设计合适的控制算法,实现对显示屏的精确控制。
例如,可采用PID控制算法实现亮度和色彩的调节,以达到理想的显示效果。
视频播放器的程序设计及代码示例一、介绍视频播放器是一种常用的应用程序,用于播放电影、电视剧、MV等各种类型的视频文件。
它可以提供良好的用户体验,具备快进、快退、调节音量、全屏播放等功能。
在本文中,将介绍视频播放器的程序设计原理,并给出一些示例代码来帮助读者更好地理解和实践。
二、程序设计原理1. 用户界面设计:视频播放器的用户界面需要简洁明了,并提供直观的操作按钮,如播放、暂停、停止、快进/快退、音量调节等。
可以使用图标、按钮、滑块等控件来实现,并合理布局,以便用户轻松地操作和控制播放器。
2. 视频解码与显示:视频播放器需要将视频文件进行解码,并实时将解码后的图像进行显示。
常见的视频解码算法有H.264、MPEG-2等。
可以使用像素缓冲区来存储解码后的图像数据,并使用界面库或图形库将图像数据显示在屏幕上。
3. 音频解码与播放:视频文件中通常包含音频轨道,视频播放器需要将音频数据解码并实时播放。
音频解码可以使用MP3、AAC等常见的音频解码算法。
播放音频可以使用操作系统提供的音频播放接口,如Windows下的DirectSound、Linux下的ALSA等。
4. 文件格式支持:视频播放器需要支持常见的视频文件格式,如MP4、AVI、MKV等。
这涉及到对不同格式文件的解析和支持,需要使用相应的解析库或者开源框架。
5. 视频控制功能:视频播放器除了基本的播放、暂停、停止功能外,还应该提供快进/快退、跳转指定位置、循环播放、调节音量和亮度等高级控制功能。
通过对用户操作的监测,可以实现这些功能,并更新界面以反映当前的播放状态。
三、代码示例以下是一个基于Java编写的简单视频播放器的代码示例,用于展示播放视频文件和基本的控制功能:```javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.File;import ponent.EmbeddedMediaPlayerComponent;import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;public class SimpleVideoPlayer {private JFrame frame;private JPanel playerPanel;private JButton playButton;private JButton pauseButton;private JButton stopButton;private EmbeddedMediaPlayer mediaPlayer;public SimpleVideoPlayer() {frame = new JFrame("Simple Video Player");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(800, 600);playerPanel = new JPanel();frame.getContentPane().add(playerPanel, BorderLayout.CENTER);playButton = new JButton("Play");pauseButton = new JButton("Pause");stopButton = new JButton("Stop");playerPanel.add(playButton);playerPanel.add(pauseButton);playerPanel.add(stopButton);mediaPlayer = newEmbeddedMediaPlayerComponent().getMediaPlayer();playButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {mediaPlayer.play();}});pauseButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {mediaPlayer.pause();}});stopButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {mediaPlayer.stop();}});frame.setVisible(true);}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {SimpleVideoPlayer player = new SimpleVideoPlayer();}});}}```这段代码使用了Java语言,基于VLCJ (VLC Java Bindings)库来实现视频播放器。
Android开发中的视频播放和流媒体处理技术在当今数字化时代,视频播放和流媒体处理技术在移动应用开发中扮演着至关重要的角色。
无论是社交媒体、在线教育还是即时通讯应用,视频都是用户最常用的交流和娱乐形式之一。
为了提供高质量的视频体验,Android开发者需要掌握视频播放和流媒体处理的关键技术。
一、视频播放技术1. 视频解码视频解码是将视频文件中的压缩数据还原为可视的图像的过程。
Android系统支持多种视频解码器,如、和VP9等。
开发者可以根据需求选择合适的解码器,并通过硬件加速来提高解码效率,以提供流畅的视频播放。
2. 播放器框架Android提供了多个播放器框架,其中最常用的是MediaPlayer 和ExoPlayer。
MediaPlayer是Android原生的播放器,简单易用,但功能比较有限。
ExoPlayer是Google推荐的高级播放器框架,支持更多的媒体格式和功能,如自适应流媒体、倍速播放和跳转到指定位置等。
3. 视频控制在视频播放过程中,用户通常需要进行一些控制操作,如播放/暂停、快进/快退和调整音量等。
开发者可以通过控制播放器的API来实现这些功能,并根据用户交互来更新播放器界面。
二、流媒体处理技术1. 流媒体协议在实现视频流媒体处理时,选择合适的流媒体协议对于提供良好的用户体验至关重要。
目前常用的流媒体协议包括HTTP、RTSP和RTMP 等。
HTTP协议广泛应用于各类互联网视频平台,RTSP协议适用于实时流媒体传输,RTMP协议则主要用于低延迟的直播推流。
2. 自适应码率自适应码率是一种动态调整视频码率的技术,可根据网络状况选择合适的码率以保证视频的连续播放和流畅性。
开发者可以通过使用自适应码率算法,并与流媒体服务器进行通信,动态改变视频码率和分辨率。
3. 实时编码实时编码是指将实时音视频数据转换为特定格式的过程,如和AAC等。
在实时通讯和直播应用中,实时编码是必不可少的,要求编码器能够实时处理庞大的音视频数据流。
AndroidGSYVideoPlayer视频播放器功能的实现GSYVideoPlayerGSYVideoPlayer ⼀个基于IJkPlayer的播放器⽀持调节声⾳亮度边播边缓存使⽤了AndroidVideoCache;ExoPlayer使⽤SimpleCache⽀持多种协议h263\4\5、Https、concat、rtsp、hls、rtmp、crypto、mpeg等等简单滤镜(马赛克、⿊⽩、⾊彩过滤、⾼斯、模糊、模糊等等20多种)、动画、(⽔印、画⾯多重播放等)视频第⼀帧、视频帧截图功能,视频⽣成gif功能。
调整显⽰⽐例:默认、16:9、4:3、填充;播放时旋转画⾯⾓度(0,90,180,270);镜像旋转IJKPlayer、EXOPlayer、MediaPlayer切换、⾃定义内核⼩窗⼝、多窗体下(包括桌⾯)的⼩窗⼝播放。
⽚头⼴告、跳过⼴告⽀持、中间插⼊⼴告功能。
暂停前后台切换不⿊屏;调整不同清晰度的⽀持;⽆缝切换⽀持;锁定/解锁全屏点击功能;进度条⼩窗⼝预览可⾃定义渲染层、⾃定义管理层、⾃定义播放层(控制层)、⾃定义缓存层使⽤依赖1、JCenter 引⼊⽅法(推荐)你可以选择下⾯三种的其中⼀种,在module下的build.gradle添加。
A、直接引⼊//完整版引⼊implementation 'com.shuyu:GSYVideoPlayer:8.1.2'B、添加java和你想要的so⽀持:implementation 'com.shuyu:gsyVideoPlayer-java:8.1.2'//是否需要ExoPlayer模式implementation 'com.shuyu:GSYVideoPlayer-exo2:8.1.2'//根据你的需求ijk模式的soimplementation 'com.shuyu:gsyVideoPlayer-armv5:8.1.2'implementation 'com.shuyu:gsyVideoPlayer-armv7a:8.1.2'implementation 'com.shuyu:gsyVideoPlayer-arm64:8.1.2'implementation 'com.shuyu:gsyVideoPlayer-x64:8.1.2'implementation 'com.shuyu:gsyVideoPlayer-x86:8.1.2'C、⽀持其他格式协议的(mpeg,rtsp, concat、crypto协议)implementation 'com.shuyu:gsyVideoPlayer-java:8.1.2'//是否需要ExoPlayer模式implementation 'com.shuyu:GSYVideoPlayer-exo2:8.1.2'//更多ijk的编码⽀持implementation 'com.shuyu:gsyVideoPlayer-ex_so:8.1.2'代码中的全局切换⽀持//EXOPlayer内核,⽀持格式更多PlayerFactory.setPlayManager(Exo2PlayerManager.class);//系统内核模式PlayerFactory.setPlayManager(SystemPlayerManager.class);//ijk内核,默认模式PlayerFactory.setPlayManager(IjkPlayerManager.class);//exo缓存模式,⽀持m3u8,只⽀持exoCacheFactory.setCacheManager(ExoPlayerCacheManager.class);//代理缓存模式,⽀持所有模式,不⽀持m3u8等,默认CacheFactory.setCacheManager(ProxyCacheManager.class);//切换渲染模式GSYVideoType.setShowType(GSYVideoType.SCREEN_MATCH_FULL);//默认显⽰⽐例GSYVideoType.SCREEN_TYPE_DEFAULT = 0;//16:9GSYVideoType.SCREEN_TYPE_16_9 = 1;//4:3GSYVideoType.SCREEN_TYPE_4_3 = 2;//全屏裁减显⽰,为了显⽰正常 CoverImageView 建议使⽤FrameLayout作为⽗布局GSYVideoType.SCREEN_TYPE_FULL = 4;//全屏拉伸显⽰,使⽤这个属性时,surface_container建议使⽤FrameLayoutGSYVideoType.SCREEN_MATCH_FULL = -4;/**** SCREEN_TYPE_CUSTOM 下⾃定义显⽰⽐例* @param screenScaleRatio ⾼宽⽐,如 16:9*/public static void setScreenScaleRatio(float screenScaleRatio)//切换绘制模式GSYVideoType.setRenderType(GSYVideoType.SUFRACE);GSYVideoType.setRenderType(GSYVideoType.GLSURFACE);GSYVideoType.setRenderType(GSYVideoType.TEXTURE);//ijk关闭logIjkPlayerManager.setLogLevel(IjkMediaPlayer.IJK_LOG_SILENT);//exoplayer⾃定义MediaSourceExoSourceManager.setExoMediaSourceInterceptListener(new ExoMediaSourceInterceptListener() {@Overridepublic MediaSource getMediaSource(String dataSource, boolean preview, boolean cacheEnable, boolean isLooping, File cacheDir) {//可⾃定义MediaSourcereturn null;}});⾃定义⼀个播放器public class LiveVideo extends StandardGSYVideoPlayer {public LiveDataFullscreenButtonClick liveDataClick;//点击全屏按钮回调/*** 恢复暂停状态*/public void onResume() {onVideoResume();}/*** 暂停状态*/public void onPause() {onVideoPause();}/*** 接⼝回调* @param liveDataClick*/public void setOnFullscreenButtonClick(LiveDataFullscreenButtonClick liveDataClick) { this.liveDataClick = liveDataClick;}/* 重写⽅法⾃定义layout id与video_layout_standard.xml⼀致不重新使⽤系统默认布局*/ @Overridepublic int getLayoutId() {return yout.test;}public LiveVideo(Context context, Boolean fullFlag) {super(context, fullFlag);init();}public LiveVideo(Context context) {super(context);init();}public LiveVideo(Context context, AttributeSet attrs) {super(context, attrs);init();}/* 初始化操作 */private void init() {//EXOPlayer内核,⽀持格式更多// PlayerFactory.setPlayManager(Exo2PlayerManager.class);//代理缓存模式,⽀持所有模式,不⽀持m3u8等,默认// CacheFactory.setCacheManager(ProxyCacheManager.class);//系统内核模式// PlayerFactory.setPlayManager(SystemPlayerManager.class);//ijk内核,默认模式PlayerFactory.setPlayManager(IjkPlayerManager.class);settingsVideo();}/* ⼀些播放器的设置做⼀些UI的隐藏可根据⾃⼰需求*/public void settingsVideo() {GSYVideoType.enableMediaCodec();//使能硬解码,播放前设置Debuger.enable();//打开GSY的Log//隐藏⼀些UIsetViewShowState(mBottomContainer, VISIBLE);setViewShowState(mTopContainer, VISIBLE);setViewShowState(mLockScreen, GONE);setViewShowState(mLoadingProgressBar, GONE);setViewShowState(mTopContainer, GONE);setViewShowState(mThumbImageView, GONE);setViewShowState(mBottomProgressBar, GONE);//显⽰⼀些UI 进度时间当前时间全屏返回加载Loading 暂停开始setViewShowState(mStartButton, VISIBLE);setViewShowState(mLoadingProgressBar, VISIBLE);setViewShowState(mFullscreenButton, VISIBLE);setViewShowState(mBackButton, GONE);setViewShowState(mProgressBar, VISIBLE);setViewShowState(mCurrentTimeTextView, VISIBLE);setViewShowState(mTotalTimeTextView, VISIBLE);setEnlargeImageRes(R.drawable.full);setShrinkImageRes(R.drawable.full);}//拦截事件@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {mFullscreenButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View view) {liveDataClick.onClick();}});return super.dispatchTouchEvent(ev);}/* 取消双击暂停 */@Overrideprotected void touchDoubleUp() {// super.touchDoubleUp();}public interface LiveDataFullscreenButtonClick {void onClick();}}<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/black"><RelativeLayoutandroid:id="@+id/surface_container"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"></RelativeLayout><RelativeLayoutandroid:id="@+id/thumb"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_alignParentBottom="true"android:layout_alignParentEnd="true"android:layout_alignParentLeft="true"android:layout_alignParentRight="true"android:layout_alignParentStart="true"android:layout_alignParentTop="true"android:background="#000000"android:scaleType="fitCenter" /><LinearLayoutandroid:id="@+id/layout_bottom"android:layout_width="match_parent"android:layout_height="40dp"android:layout_alignParentBottom="true"android:background="#99000000"android:gravity="center_vertical"android:orientation="horizontal"android:visibility="invisible"><TextViewandroid:id="@+id/current"android:textColor="@color/white"style="@style/news_des_style"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="16dp"android:text="00:00"/><SeekBarandroid:id="@+id/progress"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_weight="1.0"android:background="@null"android:padding="10dp"android:max="100"android:maxHeight="4dp"android:minHeight="4dp"android:paddingBottom="8dp"android:paddingTop="8dp"android:progressDrawable="@drawable/video_progress_bg" android:thumb="@drawable/video_seek_thumb" /><TextViewandroid:id="@+id/total"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginRight="16dp"android:text="00:00"android:textColor="@color/white"style="@style/news_des_style"/></LinearLayout><LinearLayoutandroid:id="@+id/layout_top"android:layout_width="match_parent"android:layout_height="48dp"android:background="@drawable/video_title_bg"android:gravity="center_vertical"><ImageViewandroid:id="@+id/back"android:layout_width="48dp"android:layout_height="48dp"android:paddingLeft="10dp"android:scaleType="centerInside"android:src="@drawable/video_back" /><Viewandroid:layout_weight="1"android:layout_width="0dp"android:layout_height="match_parent"/><ImageViewandroid:id="@+id/fullscreen"style="@style/left_icon_style"android:src="@drawable/full" /></LinearLayout><ProgressBarandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/loading"android:layout_centerInParent="true"/><ImageViewandroid:visibility="gone"android:layout_width="50dp"android:layout_height="50dp"android:layout_centerInParent="true"android:padding="5dp"android:id="@+id/start"/></RelativeLayout>api/*** 设置播放URL** @param url 播放url* @param cacheWithPlay 是否边播边缓存* @param title title* @return*/video.setUp("url", false, "");//设置播放路径video.startPlayLogic();//开始播放到此这篇关于Android GSYVideoPlayer视频播放器功能的实现的⽂章就介绍到这了,更多相关Android GSYVideoPlayer视频播放器内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
Android多功能视频播放器的设计与实现
程颖;姚晔;张家珲
【期刊名称】《信息通信》
【年(卷),期】2016(0)6
【摘要】近年来,因为智能终端的方便性与易携带性,更多的人热衷于通过手机等移动终端来随时随地的观看视频。
Android应用市场上的视频播放软件功能各异,但绝大多数是用于播放本地视频。
文章依赖于Vitamio框架设计与实现一个集本地视频播放、网络视频播放、网络视频直播为一体的Android多功能视频播放器。
【总页数】2页(P104-105)
【作者】程颖;姚晔;张家珲
【作者单位】杭州电子科技大学计算机学院,浙江杭州310018;杭州电子科技大学计算机学院,浙江杭州310018;杭州电子科技大学计算机学院,浙江杭州310018
【正文语种】中文
【中图分类】TP311.52
【相关文献】
1.基于Android的AVS2视频播放器的设计与实现 [J], 闫闵;胡鑫;李元琪;冉睿;何糠;李恒
2.基于Android的多功能日程表的设计与实现 [J], 徐亦丹
3.基于Android的高清视频播放器的设计与实现 [J], 白冰;陈绍茹
4.基于Android的多功能日程表设计与实现 [J], 庄云晓;张锦邦;朱浩文;荀浩坚;庄龙威;赖嘉杰;张家豪
5.基于Android的多功能电子书阅读器的设计与实现 [J], 余丽娜
因版权原因,仅展示原文概要,查看原文内容请购买。
添加学校名称本科毕业论文(设计)材料册姓名:学号:年级:2010级2班所在院系名称:数学与信息工程系专业名称:计算机科学与技术指导教师姓名:指导教师职称:基于Android平台的在线音乐播放系统设计与实现数学与信息工程系计算机科学与技术专业 XX级 XX指导教师:XX摘要:手机运用越来越广泛,人们对手机软件的要求越来越高,音乐播放器就是其中一项重要软件.本文以Android开发平台为基础,首先介绍了Android开发平台、以及当前发展现状.然后使用Java语言和开发工具Eclipse对音乐播放器代码进行编写,通过设计能实现音乐的播放、暂停、上一曲、下一曲等功能。
这款软件不仅可以下载网站上的音乐到本地,更主要的是它支持音乐的边下载边播放的功能。
关键词:安卓;音乐播放器;开发与设计Abstract:Mobile phone use more and more widely,People more and more high to the requirement of mobile phone software,Music player is one of the important software。
This article takes the Android development platform as a foundation. First it briefly introduces the Android development platform,as well as the current domestic and foreign development present situation。
Then use the Java language and Eclipse development tools to write music player code,The design can realize music play, pause,a song,the next song and other functions.This software can not only download music on the website,but also support the music playing while downloading more importantly.Key words:Android:Android; music player; The development and design目录摘要 1 Abstract1第1章绪论1。
摘要随着社会的发展,科技的进步互联网技术变得越来越普及,手机已经逐渐的受到了广大人民群众的喜爱,也渐渐的步入到了各家各户。
与此同时,视频播放器成了人们生活中常用的一款系统软件,视频能让人心情愉快、缓解压力,因此,设计一款结构简单、界面友好的Android视频播放器显得尤为重要。
本系统为了保证用户与手机系统进行友好的交互,满足用户与对视频观看的要求,选用Java语言,Vitamio框架进行开发。
系统实现了基本的视频使用功能,例如本地播放视频、网络播放视频、列表显示已播放视频、侧滑删除功能等等,有效保证了Android视频播放器系统数据的完整性及安全性。
该系统结构简单、使用方便,不仅可以节约成本,提高效益,还具有一定的实际意义。
关键词:Android,视频,视频播放器,Java语言ABSTRACTWith the development of society, the advancement of science and technology Internet technology has become more and more popular, mobile phones have gradually been loved by the masses of the people, and gradually stepped into various households. At the same time, the video player has become a system software commonly used in people's lives. Video can make people feel happy and relieve stress. Therefore, it is especially important to design a simple and friendly interface Android video player.In order to ensure the friendly interaction between the user and the mobile phone system, the system satisfies the requirements of the user and the video viewing, and selects the Java language and the Vitamio framework for development. The system implements basic video usage functions, such as local play video, network play video, list display played video, side slide delete function, etc., which effectively ensures theintegrity and security of the Android video player system data.The system is simple in structure and convenient to use, and can not only save cost, improve efficiency, but also has certain practical significance.Key words: Android,video,video player,Java language目录第1章引言 (4)1.1 研究背景 (4)1.2 国内外研究现状 (4)1.2.1 国外研究现状 (4)1.2.2 国内研究现状 (4)1.3 研究内容 (5)1.4 研究意义 (5)1.5 论文结构 (6)第2章关键技术 (6)2.1 Android简介 (6)2.2 Android的系统架构 (7)2.2.2 应用程序层 (7)2.2.3 应用程序框架 (7)2.2.4 系统运行库 (8)2.3 Java语言 (8)2.3.1 Java语言简介 (8)2.3.2 Java语言特点 (8)2.4 Vitamio框架 (9)2.5 开发平台 (9)第3章系统需求分析 (10)3.1 业务流程分析 (10)3.2 功能性需求 (11)3.3 非功能性需求 (11)3.3.1 数据安全 (11)3.3.2 运行状态 (11)3.4 可行性分析 (12)3.4.1 技术可行性 (12)3.4.2 操作可行性 (12)3.4.3 经济可行性 (13)第4章基于Android的视频播放器设计 (13)4.1 软件设计步骤 (13)4.2 设计目标与原则 (14)4.3 系统总体设计 (14)4.4 功能模块设计 (15)4.4.2 本地视频 (16)4.4.3 网络视频 (16)4.4.4 侧滑删除 (16)4.4.5 声音与进度条 (16)4.4.6 查看图片 (16)第5章系统实现与测试 (17)5.1 系统实现 (17)5.1.1 本地视频 (17)5.1.2 网络视频 (18)5.1.3 侧滑删除 (19)5.1.4 调节进度条与声音 (20)5.1.5 查看图片 (22)5.2 系统测试 (24)5.2.1 测试原则 (24)5.2.2 测试说明 (24)5.2.3 本地视频测试 (25)5.2.4 侧滑删除测试 (25)第6章总结 (25)参考文献 (26)致谢 ................................................................................................... 错误!未定义书签。
毕业设计中文题目基于安卓的音乐播放器系统的设计与实现英文题目Design and Implementation of The MusicPlayer Based on Android院系:计算机与信息工程学院年级专业:金融服务姓名:学号:指导教师:职称:年月摘要基于安卓的应用软件开发快捷简单,用户体验良好,开发出满足消费者要求的移动终端软件具有广阔的市场前景。
而随着手机的使用量有了大幅地提高,多媒体功能的开发已经成了手机未来发展的功能之一,扩展和优化手机多媒体功能将成为未来几年移动程序开发的新趋势。
本文研究的音乐播放器系统是以Android开发为基础,用到的软件是Java 的开发软件Eclipse,搭建的开发环境是Eclipse + Android SDK,该系统是在Android系统下编码和改进的。
本文研究的音乐播放器集播放、暂停、上下首、歌词显示一些基本的功能于一体,同时具有分享、收藏、设置休息时间的友好性功能,大大满足用户的需求。
关键词:手机;安卓;java;音乐播放ABSTRACTABSTRACTThe application development based on Android is quick and easy, in addition, the user’s experience is good. Therefore, developing mobile terminal software that can meet consumer demands for market has broad prospects.With the production and use of mobile phones greatly improved, the development of multimedia functions has become one of the future development of feature phones, so expansion and optimization of mobile multimedia features will become a new trend in the next few years on the mobile application development.The music player system in this paper is based on Android development , using Java development software Eclipse, building Eclipse+Android SDK development environment, and the system is codded and improved under the Android system.In this paper, the music player has the basic functions which include play, pause, previous one, the next song, the lyrics show. At the same time, the music player can share, collect, set rest time, and it is able to satisfy the needs of users.Key W ords : Phones; Android; Java; Music Player目录第1章引言 (1)1.1 选题背景 (1)1.2 国内外研究现状 (1)1.3 研究内容 (2)1.4 主要设计思路 (2)1.5 论文组织结构 (3)第2章系统相关技术介绍 (4)2.1 Android的定义 (4)2.2 Android的优势 (4)2.3 Android带来的影响 (4)2.3.1 对消费者的影响 (4)2.3.2 对手机制造商的影响 (5)2.3.3 对运营商的影响 (5)2.4 JA V A介绍 (5)2.5 Android内核 (6)2.6 Android的系统架构 (6)2.7 Lib介绍 (7)第3章系统需求分析 (9)3.1 系统可行性分析 (9)3.1.1 技术可行性 (9)3.1.2 操作可行性 (9)3.1.3 经济可行性 (9)3.1.4 社会可行性 (9)3.2 总体需求 (10)3.3 功能需求 (10)3.4 开发运行环境需求 (13)3.5 性能需求 (13)3.6 其它需求 (13)第4章系统概要设计 (15)4.1 概述 (15)4.2 系统功能结构 (15)4.2.1 主界面模块设计 (16)4.2.2 播放界面模块设计 (16)4.2.3 菜单界面模块设计 (17)4.2.4 歌曲设置模块设计 (17)4.2.5 其他模块设计 (18)第5章系统实现 (19)5.1 数据库设计 (19)5.2 模块界面实现 (20)5.2.1 播放器主界面 (20)5.2.2 音乐播放界面 (21)5.2.3 音乐歌词显示页面 (22)5.2.4 音乐菜单界面 (23)5.2.5 音乐歌曲设置 (24)5.2.6 音乐歌曲分享 (25)第6章系统测试 (27)6.1 测试重要性 (27)6.2测试方法 (27)6.3系统功能测试 (27)6.3.1 播放器播放功能测试 (27)6.3.2 播放器菜单功能测试 (28)6.3.3 播放器歌曲设置功能测试 (28)6.3.4 播放器其他模块功能测试 (29)第7章结论与展望 (30)7.1 结论 (30)7.2 进一步的工作方向 (30)参考文献 (31)致谢 (32)第1章引言1.1 选题背景科学技术的日新月异,加上人们生活水平的不断提高,使得手机在人们的日常生活中扮演着极其重要的角色。
本科毕业设计论文基于Android的嵌入式视频系统摘要本课题设计了一个基于Android的嵌入式视频系统。
该系统主要实现了视频的采集、处理、存储、播放和传输。
采集是通过Android自带的照相机和麦克风分别对图像和声音进行采集;处理是对所采集到的图像和声音的编码和格式转换;存储是对处理完成的视频的保存;播放是实现对视频的开始播放、暂停、重播、停止功能;传输是手机与电脑之间的数据的传输。
本设计基本实现了所要达到的目标,结构比较简单,基本的容错设计也大概地实现,其效果还是满足要求的。
关键词:Android系统视频采集视频播放AbstractThis project is to mark a video system which is based on the android operating system .This system can capture video,handle video,save video,play video and transfer video. Video capture is collecting images and sound from the camera and microphone which bring their own Android .Video processing is encoded images and sounds which are been collected .Video storage is saving the video which is worked.Video playing is to mark true that the video can be played ,plused,replayed and stoped.Video transmission is transmitted data from the computer to the mobile phone.This design is realized the goal.It is not complex, every functions link compact, the essential tolerant designs is realized, and this system basically met needs.Key words: Android system Video capture Video playing1.引言 (3)2. 嵌入式视频设计总体设计 (4)2.1视频嵌入式系统总体设计 (4)2.2嵌入式系统的概念 (5)2.2.1嵌入式系统的特点 (5)2.2.2嵌入式系统的历史 (6)2.2.3嵌入式系统的组成 (6)3.视频系统硬件设计 (7)3.1视频基于硬件的设计框图 (7)3.2 ARM Cortex-A8简介 (7)3.3 TI OMAP3630处理器特性 (8)4.软件开发平台的搭建 (1)4.1 java JDK 安装 (1)4.2 Eclipse安装以及ADT工具的安装 (1)4.3 Android SDK 的安装以及系统的设置 (2)4.4 Android真机调试的相关设置 (3)5.视频系统的软件设计 (6)5.1软件画面布局设计 (6)5.1.1视频的刻录布局 (6)5.1.2视频的播放布局 (8)5.2 两个Activity之间的切换设计 (9)5.3视频的刻录功能设计 (10)5.4视频的播放功能设计 (11)5.5其他功能的设计 (12)6.软件调试和运行 (14)6.1真机画面的监控 (14)6.2视频刻录 (15)6.3视频播放 (16)6.4调试 (18)谢辞 (19)参考资料 (19)附录 (19)电子行业从单片机到嵌入式系统,特别是近几年嵌入式系统技术的日渐普及,嵌入式系统无疑成为了当前最热门最有发展前途的IT应用领域之一,伴随着巨大的产业需求,我国嵌入式系统产业的人才需求量也是一路高涨,嵌入式开发成为近几年最热门最受欢迎的职业之一。
gsyvideoplayer原理GSYVideoPlayer原理解析GSYVideoPlayer是一款基于Android平台的强大视频播放器,具有多样化的功能和良好的性能。
本文将从浅入深解释GSYVideoPlayer的相关原理。
1. GSYVideoPlayer的基本原理GSYVideoPlayer采用了基于Android原生MediaPlayer框架的封装方式,实现了完善的视频播放功能。
其基本原理如下:•GSYVideoPlayer通过创建MediaPlayer对象进行视频的初始化、播放、暂停等操作。
•GSYVideoPlayer提供了封装好的控制视图,包括进度条、播放按钮、全屏等,以便用户对视频进行操作。
•GSYVideoPlayer通过监听MediaPlayer的状态变化,实时更新控制视图的状态,比如播放进度、播放状态等。
•GSYVideoPlayer还提供了丰富的功能,比如倍速播放、画面旋转、视频截图等,通过对MediaPlayer的相关接口进行封装和扩展。
2. GSYVideoPlayer实现视频播放GSYVideoPlayer的视频播放主要包括以下几个步骤:1.创建MediaPlayer对象:GSYVideoPlayer在初始化时会创建一个MediaPlayer对象,用于控制视频的播放。
2.设置视频源:通过调用MediaPlayer的setDataSource()方法,指定要播放的视频文件的路径或URL。
3.准备播放:通过调用MediaPlayer的prepare()方法,使MediaPlayer进入准备状态,准备开始播放。
4.开始播放:通过调用MediaPlayer的start()方法,开始播放视频。
5.控制播放:通过监听MediaPlayer的状态变化,如播放进度、播放状态等,来控制视频的播放和暂停。
3. GSYVideoPlayer封装的控制视图GSYVideoPlayer封装了一套控制视图,方便用户对视频进行操作。
基于Android的视频影音播放器--大学本科毕业论文作者声明本人以信誉郑重声明:所呈交的学位毕业设计(论文),是本人在指导教师指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。
文中引用他人的文献、数据、图件、资料均已明确标注出,不包含他人成果及为获得东华理工大学或其他教育机构的学位或证书而使用过的材料。
对本设计(论文)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本毕业设计(论文)引起的法律结果完全由本人承担。
本毕业设计(论文)成果归东华理工大学所有。
特此声明。
毕业设计(论文)作者(签字):签字日期:年月日本人声明:该学位论文是本人指导学生完成的研究成果,已经审阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。
学位论文指导教师签名:年月日东华理工大学毕业论文目录目录摘要 (1)ABSTRACT (2)1.绪论 (3)1.1 Android影音播放器课题背景 (3)1.2 Android影音播放器课题目的和意义 (3)1.3 Android影音播放器专业名词解释 (4)2. Android播放器开发技术基础 (6)2.1 Java 基础支持 (6)2.2 UI界面设计 (6)2.3 Android SDK/ADT (6)2.4 Android Media Player (6)2.5 SQlite (6)3.Android播放器需求分析 (7)3.1 Android播放器结构分析 (7)3.2 功能性需求分析 (8)3.2.1 音乐播放器功能性需求 (8)3.2.2 视频播放器功能性需求 (8)3.2.3 数据库功能性需求 (9)3.3 非功能性需求分析 (9)3.4 Anroid 影音播放器系统可行性分析 (9)3.4.1 开发环境与开发工具 (9)3.4.2 可行性分析 (9)3.4.3 实现功能类的分析 (9)4. 播放器总体设计 (10)4.1 播放器设计目标 (11)4.2 播放器设计原则 (11)4.3 播放器界面设计 (11)4.4 Android播放器测试流程设计 (14)4.4 数据库设计 (15)4.4.1 创建数据库 (15)4.4.2 数据库需求分析 (15)4.4.3 数据库逻辑设计 (17)4.5播放器程序架构介绍 (13)4.5.1 Android播放器功能管理设计 (14)5.Android播放器视频界面设计 (23)5.1界面讲解 (23)5.2 VIDEO界面说明 (24)5.3 VIDEO主界面功能实现 (24)6.Android播放器音频界面主界面 (26)6.1 Android播放器音频主界面讲解 (26)6.2 Android播放器音频主界面实现 (27)7.Android播放器组件 (29)7.1切换界面控制的实现: (29)7.2重力感应开关的实现: (29)7.3播放列表开关的实现: (31)7.4列表编辑开关的实现: (32)7.5均衡器开关的实现: (33)7.6数据库连接的实现: (34)8. 系统测试 (35)8.1 系统测试简述 (35)8.2 系统功能测试 (35)8.2.1 音乐播放测试 (35)8.2.2 视频播放测试 (35)8.2.3 组件测试 (35)8.2.4 本地文件添加测试 (36)8.2.5 启动Logo测试 (36)8.2.6 测试结果 (36)总结 (37)致谢 (38)参考文献 (40)东华理工大学毕业论文摘要摘要在信息化时代日新月异的2016泽字节(ZB)之年,信息化的社会已经越来越向人们的生活贴近,各种电子产品和信息共享在世界上越来越广泛,而视频和音乐,无疑在信息传播途径方面占据了大份额。
文档编号:基于Android的多功能视频播放器系统设计说明书目录1引言 (3)1.1目的 (3)1.2适用范围 (3)2系统架构 (4)2.1硬件架构 (4)2.2软件架构 (9)3完整功能结构图 (11)4系统数据库设计 (11)4.1 E-R图设计 (11)4.2字段设计 (11)4.2.1本地视频文件记录表 (11)4.2.2历史播放文件表 (12)4.2.3 收藏文件表 (12)5视频播放器部署图 (13)6 系统需求 (13)6.1系统界面需求 (13)6.2系统性能需求 (13)6.1系统开发环境需求 (14)7视频播放器流程图 (14)1引言1.1目的本文档是多通道同步数字记录仪升级换代项目的系统设计文档。
从系统的高层角度对系统的硬件架构、软件架构、网络架构、系统部署、系统运行方式进行设计,为下一步各个模块的详细设计提供系统级的视图。
1.2适用范围本文用于描述多通道同步数字记录仪升级换代项目的系统设计,给出系统的主要架构与配置项,对相关运行、数据、用户接口、容错与复用和重要模块进行分析,作为项目后续详细设计与开发实现的依据。
本说明书的阅读对象为:跟我们同龄的有一定基础的大学生,以及相关的项目开发人员等等。
32系统架构2.1硬件架构2.1.1 JDK安装JDK是Java语言的原创者推出的原始开发环境。
采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。
在Windows上安装JDK非常简单,访问Oracle官方网站下载页面,网址为/technetwork/indexes/downloads/index.html,也可从其他网站下载。
下载完成后,双击运行JDK安装程序并根据提示设定环境变量。
2.1.2 Android SDK安装以及系统设置下载好SDK包后,将zip文件解压缩至合适的地方。
在下文中,默认SDK安装目录为$SDK_ROOT 。
Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。
如果没有找到设定PATH变量的行,可以自己添加一行:export4PATH=${PATH}:<$SDK_ROOT/tools的完全路径>●Mac下,在home目录中找到文件.bash_profile,和Linux的一样处理。
如果还没有在机器上设定这个文件,可以创建一个.bash_profile文件。
●Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加入其中。
通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。
需要注意到是,当升级了SDK后,如果安装路径有变动的话,不要忘记了更新PATH变量的设置,将其指向变动后的路径。
配置SDK有两种方法:第一种,通过SDK下载器自动下载和配置。
适合网络好,下载速度快的情况;第二种,借助工具下载SDK文件,手工配置。
适合网络不是很好,下载速度慢的情况下。
2.1.3Eclipse安装以及ADT工具的安装下载Eclipse安装包后,无需安装,只需解压缩,点击“eclipse.exe”文件即可运行。
Android为Eclipse定制了一个插件,即Android Develpoment Tools(ADT),目的是为用户提供一个强大的综合5环境用于开发Android应用程序。
ADT扩展了Eclipse的功能,可以让用户快速建立Android项目,创建应用程序界面,在基于Android框架API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发行应用程序。
安装ADT:启动Eclipse,选择Help>Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入"ADT",然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件,点击OK。
返回可用软件的视图,你会看到这个插件,然后选择Developmer Tools,点击Next,最后重启Eclipse。
在运行时内核是整个架构的核心,其他部件都是以插件方式来实现的。
Eclipse采用动态加载机制,即只有需6要的才加载,这样可以降低启动时间,提高资源使用效率。
工作空间插件即所谓的工作区,主要负责管理用户资源,例如用户创建项目的管理、文件变更等,并负责通知其他插件关于资源变更的信息。
工作台插件是Eclipse 提供的用户界面。
它使用标准窗口工具包(SWT)和一个更高级的API(JFace)构建的。
SWT是Java的Swing/AWT的非标准替代者,JFace则以SWT为基础,但更易于使用。
团队支持插件负责提供版本控制和配置管理支持。
它允许用户根据需要添加视图,并与允许用户使用的任何版本控制系统交互。
帮助插件允许以HTML文件形式添加文档,并提供了一个附加的导航结构以便用户使用帮助功能搜索相关信息。
硬件平台搭建好后,便可以开始创建项目了。
72.2软件架构2.2.1软件总体规模包图: 界面UI 包数据库包播放控制智能搜索列表展示包本地化列表列表单项操作2.2.2软件总体规模类图:功能相关的介绍:(1)数据库管理:主要用来记录播放器中视频文件的信息,如:文件名,文件格式,时间长短,艺术家,修改时间等。
(2)UI界面设计:设计播放器界面,包括,播放区域,文件列表区域,文件播放控制按钮,主菜单等。
(3)智能搜索模块:用MediaScanner功能检索系统中视频文件信息,然后,通过对视频文件名的智能匹配来完成智能搜索操作。
(4)文件列表--本地文件:运用递归调用算法实现对手机中的每个文件的访问进行递归显示每个文件夹目录下的文件,从而达到定位视频文件的目的。
(5)播放列表--所有文件列表:实现所有文件列表是为了列出手机里面扫描出来的所有的视频文件,方便播放。
(6)播放列表--历史播放列表:实现历史播放文件列表来记录播放器播放过的视频文件,一个方便用户查询那些播放过,或者再次播放。
(7)播放列表--收藏喜爱列表:实现收藏播放列表,将用户喜爱的视频文件收藏起来,方便再次查询,播放。
(8)基本播放控制:基本播放控制是为了更好的实现视频文件播放中的实际需求而定制,包括暂停,停止,播放当前列表中的下一个/上一个文件,全屏播放等。
3完整功能结构图4.系统数据库设计数据库是存放数据的仓库。
只不过,这个仓库是在计算机存储设备上,而且数据是按一定格式存放的。
数据库中的数据按一定数据模型组织、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性,并且可以被在一定范围内的各种用户共享。
在设计数据库的软件开发中,需要根据有待解决的问题性质、规模,以及所采用的前端程序创建工具等,做出合适的数据库类型选择。
基于视频交互服务技术的视频播放器Android 版——用户移动终端视频分类 视频处理终端设置 视频播放 视频设置播 放 暂 停 停 止 快 进 快 退 上一个 下一个 全屏/普屏艺术家 国家地区界面风格4.1 E-R 图设计4.2 字段设计4.2.1本地视频文件记录表本地视频文件记录表主要是记录了手机所能储存的所有视频文件的详细信息,将其存入SQLite 数据库中。
关于本地视频文件记录列表的详细字段如表4.2.1所示表4.2.1 本地视频文件记录列表名称类型说明视频文件艺术家组成播放列表组成视频数目视频播放器视频名称文件描述 时间文件大小_id integer主键videoName varchar视频文件名videoPath varchar文件的绝对路径videoDuration varchar文件持续时常videoDescription varchar文件描述videoBookMark varchar文件书签videoArtist varchar艺术家信息videoSize varchar文件大小4.2.2历史播放文件表历史播放文件表记录了播放器中播放过的文件信息,这里包括文件名,文件绝对路径两个选项,方便用户读取历史播放记录信息,以及在此播放等功能。
其表详情见表4.2.2。
表4.2.2历史播放文件列表名称类型说明_id integer主键videoName varchar视频文件名videoPath varchar文件的绝对路径4.2.3收藏文件表收藏文件表记录了手机内部存储的视频文件,这样方便用户读取收藏文件列表的视频文件进行播放,其表详情见表4.2.3。
表4.2.3 收藏文件列表名称类型说明_id integer主键videoName varchar视频文件名videoPath varchar文件的绝对路径5.视频播放器部署图一部基于Android平台的手机6.系统需求6.1 系统界面需求播放器界面要求布局合理,颜色舒适,控制按钮友好,图片素材要求像素较高。
6.2 系统性能需求根据Android手机系统要求无响应时间为5s,所以就有如下性能要求。
(1)当要求视频播放时,程序响应时间最长不能超过5s。
(2)当要求视频暂停时,程序响应时间最长不超过5s。
(3)当要求视频停止时,程序响应时间最长不能超过5s。
(4)当要求视频上一个/下一个时,程序响应时间最长不能超过5s。
(5) 当要求进行播放列表时,程序响应时间最长不能超过5s 。
6.3 系统开发环境需求(1)操作系统:Android 手机基于Linux 操作系统。
(2)支持环境:Android 1.5-2.0.1版本 (3)开发环境:Eclipse 3.5 ADT7.视频播放器活动流程图打开软件播放主界面视频播放播放列表艺术家分类国家地区分类是否进入播放列表YesNo暂停上/下一个停止是否选择该视频YesNo快进/快退退出是否退出NOYes。