Android下VideoView的研究

简介:     VideoView继承自SurfaceView,实现了MediaController.MediaPlayerControl的接口。在android系统中的包名为android.widget.VideoView。

    VideoView继承自SurfaceView,实现了MediaController.MediaPlayerControl的接口。在android系统中的包名为android.widget.VideoView

    VideoView的主要功能是显示一个指定的视频文件。VideoView可以从多个地方载入图片(比如资源或者content provider中)。

    VideoView继承了Android.view.View类中的XML属性、常量、和field(我们常翻译成属性)。在VideoView下有三个构造方法:

VideoView(Context context)
VideoView(Context context, AttributeSet attrs)
VideoView(Context context, AttributeSet attrs, int defStyle)

VideoView的公有的方法有:

//这个方法是在API19中才加入的,一般情况下可以不考虑
void	 addSubtitleSource(InputStream is, MediaFormat format)
//这个方法可以设置视频是否可以暂停。
boolean	 canPause()
//这个方法设置视频是否可以后退
boolean	 canSeekBackward()
//这个方法设置视频是否可以前进。
boolean	 canSeekForward()
//通常是将这个View渲染到canvas上去。
void	 draw(Canvas canvas)
//这个方法如果错误的话会返回0.
int	 getAudioSessionId()
//获取缓冲百分比
int	 getBufferPercentage()
//获取当前的位置
int	 getCurrentPosition()
//获取播放视频的总时间
int	 getDuration()
//判断视频是否处于播放状态
boolean	 isPlaying()
void	 onInitializeAccessibilityEvent(AccessibilityEvent event)

void	 onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)

boolean	 onKeyDown(int keyCode, KeyEvent event)

boolean	 onTouchEvent(MotionEvent ev)

boolean	 onTrackballEvent(MotionEvent ev)
//停止时
void	 pause()
//取得调整后的尺寸。如果measureSpec对象传入的模式是UNSPECIFIED那么返回的是desiredSize。如果measureSpec对象传入的模式是AT_MOST,返回的将
//是desiredSize和measureSpec对象的尺寸两者中最小的那个。如果measureSpec对象传入的模式是EXACTLY,那么返回的是measureSpec对象中的尺寸大小值。
int	 resolveAdjustedSize(int desiredSize, int measureSpec)
//从暂停中恢复
void	 resume()
//跳转到
void	 seekTo(int msec)
//设置MediaController,方便控制视频播放
void	 setMediaController(MediaController controller)
//媒体在播放完毕时的回调函数
void	 setOnCompletionListener(MediaPlayer.OnCompletionListener l)
//发生错误时的回调函数
void	 setOnErrorListener(MediaPlayer.OnErrorListener l)

void	 setOnInfoListener(MediaPlayer.OnInfoListener l)
//加载完毕后的回调函数
void	 setOnPreparedListener(MediaPlayer.OnPreparedListener l)
//设置视频播放路径
void	 setVideoPath(String path)
//设置URI
void	 setVideoURI(Uri uri)
//视频播放开始
void	 start()
//停止回放
void	 stopPlayback()
//挂起
void	 suspend()

以下是VideoView的protected方法:

void	 onAttachedToWindow()
void	 onDetachedFromWindow()

void	 onLayout(boolean changed, int left, int top, int right, int bottom)
void	 onMeasure(int widthMeasureSpec, int heightMeasureSpec)

以上方法在重写VideoView时实现。

VideoView继承了以下类的方法:

 android.view.SurfaceView
 android.view.View
 java.lang.Object

//接口
 android.graphics.drawable.Drawable.Callback
 android.view.KeyEvent.Callback
 android.view.accessibility.AccessibilityEventSource
 android.widget.MediaController.MediaPlayerControl


目录
相关文章
|
4月前
|
Android开发
Android Launcher研究(二)-----------Launcher为何物,究竟是干什么
Android Launcher研究(二)-----------Launcher为何物,究竟是干什么
71 2
|
11月前
|
JSON JavaScript 前端开发
Android 缩减、混淆处理和优化应用研究(二)
Android 缩减、混淆处理和优化应用研究(二)
|
11月前
|
IDE Java 编译器
Android 缩减、混淆处理和优化应用研究(一)
Android 缩减、混淆处理和优化应用研究(一)
|
编解码 Android开发
Android 使用VideoView播放本地视频详解
Android 使用VideoView播放本地视频详解
463 2
|
监控 JavaScript 前端开发
|
4月前
|
Linux 开发工具 Android开发
Android Launcher研究(一)-----------图文详解手把手教你在Windows环
Android Launcher研究(一)-----------图文详解手把手教你在Windows环
40 0
|
4月前
|
定位技术 API 数据库
基于Android的在线移动电子导航系统的研究与实现(论文+源码)_kaic
基于Android的在线移动电子导航系统的研究与实现(论文+源码)_kaic
|
4月前
|
XML Java Android开发
Android Studio App开发之利用视频视图VideoView播放视频讲解及实战(附源码 超详细必看)
vAndroid Studio App开发之利用视频视图VideoView播放视频讲解及实战(附源码 超详细必看)
567 0
|
11月前
|
Ubuntu Linux Android开发
Android研究系列(1)
最近下班之后的研究基本上都放在了安卓和ios的研究之上,从原先的小米2s各种刷机各种刷ram,到下载大型单机游戏侠盗飞车大三基本上把安卓玩了个遍。不过也是很长时间没有玩手机这一层了,最近和同事聊起来安卓和ios,感觉其实ios 更像linux或者说ubuntu(自己用的ubuntu最多),而安卓更像wiondows,就从数据垃圾处理这一层来说,卸载windows的应用C盘必然会留下相应的数据垃圾,这一点不就是安卓的弊病么,windows越用越卡,安卓何尝不是。最近在刷ios,了解ios的更多信息,同时也欢迎各位给出批评指正。这一期的文章总共分为图片不知道图片多少篇,看自己研究到什么时候,什么
|
Android开发 Java
Android VideoView播放在线视频(2)
Android VideoView播放在线视频(2) 附录参考文章1简单介绍了如何使用Android VideoView播放本地视频,Android VideoView也可以直接播放在线视频资源,首先和文章1一样,需要...
1532 0