Android中文API(125) —— VideoView

前言

  本章内容是android.widget.VideoView,版本为Android 3.1 r1,翻译来自"唐明",由"cnmahj"审核,再次感谢"唐明"!欢迎你一起参与Android的中文翻译,联系我over140@gmail.com。

 

声明

  欢迎转载,但请保留文章原始出处:)

    博客园:http://www.cnblogs.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,返回的将是desiredSizemeasureSpec对象的尺寸两者中最小的那个。如果measureSpec对象传入的模式是EXACTLY,那么返回的是measureSpec对象中的尺寸大小值。

关于MeasureSpec类的额外说明:MeasureSpec是一个android.view.View的内部类。它封装了从父类传送到子类的布局要求信息。每个MeasureSpec对象描述了控件的高度或者宽度。MeasureSpec对象是由尺寸和模式组成的,有3个模式:UNSPECIFIEDEXACTLYAT_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实现视频全屏播放

 

 

 

posted @ 2011-06-13 10:03  农民伯伯  阅读(51026)  评论(2编辑  收藏  举报