©
Dieses Dokument verwendet PHP-Handbuch für chinesische Websites Freigeben
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 ()
(译者注:挂起视频文件的播放)
补充
文章精选
VideoView « { Android学习指南}
Android利用VideoView实现VideoPlayer
编写简单自定义VideoView
Android VideoView如何播放RTSP的流
android利用VideoView实现视频全屏播放