前言
本章内容是android.widget.VideoView,版本为Android 3.1 r1,翻译来自"唐明",由"cnmahj"审核,再次感谢"唐明"!欢迎你一起参与Android的中文翻译,联系我over140@gmail.com。?
声明
欢迎转载,但请保留文章原始出处:)?
Android中文翻译组: http://goo.gl/6vJQl
VideoView
译者署名:唐明
审核:cnmahj
版本:Android 3.1 r1
结构
继承关系
public class?VideoView extends?SurfaceView
implements?MediaController.MediaPlayerControl
java.lang.Object
???????? android.view.View
?????????????????? android.view.SurfaceView
??????????????????????????? android.widget.VideoView
类概述
(图片转载至这里)
用于播放视频文件。?VideoView?类可以从不同的来源(例如资源文件或内容提供器) 读取图像,计算和维护视频的画面尺寸以使其适用于任何布局管理器, 并提供一些诸如缩放、着色之类的显示选项。
构造函数:
public?VideoView?(Context?context)
创建一个默认属性的VideoView实例。
参数
context 视图运行的应用程序上下文,通过它可以访问当前主题、资源等等。
public?VideoView?(Context?context,?AttributeSet?attrs)
创建一个带有attrs属性的VideoView实例。
参数
context ?视图运行的应用程序上下文,通过它可以访问当前主题、资源等等。
attrs ???????用于视图的?XML?标签属性集合。
public?VideoView?(Context?context,?AttributeSet?attrs, int defStyle)
创建一个带有attrs属性,并且指定其默认样式的VideoView实例。
参数
context ?视图运行的应用程序上下文,通过它可以访问当前主题、资源等等。
attrs ???????用于视图的?XML?标签属性集合。
defStyle?应用到视图的默认风格。如果为?0?则不应用(包括当前主题中的)风格。 该值可以是当前主题中的属性资源,或者是明确的风格资源?ID。
公共方法
public boolean?canPause?()
(译者注:判断是否能够暂停播放视频)
public boolean?canSeekBackward?()
(译者注:判断是否能够倒退)
public boolean?canSeekForward?()
(译者注:判断是否能够快进)
public int?getBufferPercentage?()
(译者注:获得缓冲区的百分比)
public int?getCurrentPosition?()
(译者注:获得当前的位置)
public int?getDuration?()
(译者注:获得所播放视频的总时间)
public boolean?isPlaying?()
(译者注:判断是否正在播放视频)
public boolean?onKeyDown?(int keyCode,?KeyEvent?event)
KeyEvent.Callback.onKeyMultiple()?的默认实现。如果视图可用并可按, 当按下?KEYCODE_DPAD_CENTER?或?KEYCODE_ENTER?时执行视图的按下事件。
参数
keyCode 表示按下的键的、在?KEYCODE_ENTER?中定义的键盘代码
event??????? KeyEvent?对象,定义了按钮动作
返回值
如果处理了事件,返回真。如果允许下一个事件接受器处理该事件,可以返回假
public boolean?onTouchEvent?(MotionEvent?ev)
实现该方法来处理触屏事件。
参数
event????????触屏事件
返回值
如果事件已经处理返回True,否则返回false。
public boolean?onTrackballEvent?(MotionEvent?ev)
实现这个方法去处理轨迹球的动作事件,轨迹球相对于上次事件移动的位置能用MotionEvent.getX() 和 MotionEvent.getY()函数取回。对应用户按下一次方向键, 他们通常作为一次移动处理(为了表现来自轨迹球的更小粒度的移动信息,他们返回小数)。
参数
ev 动作的事件
public void?pause?()
(译者注:使得播放暂停)
public int?resolveAdjustedSize?(int desiredSize, int measureSpec)
(译者注:取得调整后的尺寸。如果measureSpec对象传入的模式是UNSPECIFIED那么返回的是desiredSize。如果measureSpec对象传入的模式是AT_MOST,返回的将是desiredSize和measureSpec对象的尺寸两者中最小的那个。如果measureSpec对象传入的模式是EXACTLY,那么返回的是measureSpec对象中的尺寸大小值。
关于MeasureSpec类的额外说明:MeasureSpec是一个android.view.View的内部类。它封装了从父类传送到子类的布局要求信息。每个MeasureSpec对象描述了控件的高度或者宽度。MeasureSpec对象是由尺寸和模式组成的,有3个模式:UNSPECIFIED、EXACTLY、AT_MOST,这个对象由MeasureSpec.makeMeasureSpec()函数创建。)
public void?resume?()
(译者注:恢复挂起的播放器)
public void?seekTo?(int msec)
(译者注:设置播放位置)
public void?setMediaController?(MediaController?controller)
(译者注:设置媒体控制器)
public void?setOnCompletionListener?(MediaPlayer.OnCompletionListener?l)
注册在媒体文件播放完毕时调用的回调函数。
参数
l 要执行的回调函数
public void?setOnErrorListener?(MediaPlayer.OnErrorListener?l)
注册在设置或播放过程中发生错误时调用的回调函数。如果未指定回调函数, 或回调函数返回假,VideoView?会通知用户发生了错误。
参数
l 要执行的回调函数
public void?setOnPreparedListener?(MediaPlayer.OnPreparedListener?l)
注册在媒体文件加载完毕,可以播放时调用的回调函数。
参数
l 要执行的回调函数
public void?setVideoPath?(String?path)
(译者注:设置视频文件的路径名)
public void?setVideoURI?(Uri?uri)
(译者注:设置视频文件的统一资源标识符)
public void?start?()
(译者注:开始播放视频文件)
public void?stopPlayback?()
(译者注:停止回放视频文件)
public void?suspend?()
(译者注:挂起视频文件的播放)