to top
Android APIs
public class

VideoView

extends SurfaceView
implements MediaController.MediaPlayerControl
java.lang.Object
   ↳ android.view.View
     ↳ android.view.SurfaceView
       ↳ android.widget.VideoView

Class Overview

Displays a video file. The VideoView class can load images from various sources (such as resources or content providers), takes care of computing its measurement from the video so that it can be used in any layout manager, and provides various display options such as scaling and tinting.

Summary

[Expand]
Inherited XML Attributes
From class android.view.View
[Expand]
Inherited Constants
From class android.view.View
[Expand]
Inherited Fields
From class android.view.View
Public Constructors
VideoView(Context context)
VideoView(Context context, AttributeSet attrs)
VideoView(Context context, AttributeSet attrs, int defStyle)
Public Methods
boolean canPause()
boolean canSeekBackward()
boolean canSeekForward()
int getBufferPercentage()
int getCurrentPosition()
int getDuration()
boolean isPlaying()
void onInitializeAccessibilityEvent(AccessibilityEvent event)
Initializes an AccessibilityEvent with information about this View which is the event source.
void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)
Initializes an AccessibilityNodeInfo with information about this view.
boolean onKeyDown(int keyCode, KeyEvent event)
Default implementation of KeyEvent.Callback.onKeyDown(): perform press of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released, if the view is enabled and clickable.
boolean onTouchEvent(MotionEvent ev)
Implement this method to handle touch screen motion events.
boolean onTrackballEvent(MotionEvent ev)
Implement this method to handle trackball motion events.
void pause()
int resolveAdjustedSize(int desiredSize, int measureSpec)
void resume()
void seekTo(int msec)
void setMediaController(MediaController controller)
void setOnCompletionListener(MediaPlayer.OnCompletionListener l)
Register a callback to be invoked when the end of a media file has been reached during playback.
void setOnErrorListener(MediaPlayer.OnErrorListener l)
Register a callback to be invoked when an error occurs during playback or setup.
void setOnPreparedListener(MediaPlayer.OnPreparedListener l)
Register a callback to be invoked when the media file is loaded and ready to go.
void setVideoPath(String path)
void setVideoURI(Uri uri)
void start()
void stopPlayback()
void suspend()
Protected Methods
void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height.

[Expand]
Inherited Methods
From class android.view.SurfaceView
From class android.view.View
From class java.lang.Object
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource
From interface android.widget.MediaController.MediaPlayerControl

Public Constructors

public VideoView (Context context)

Since: API Level 1

public VideoView (Context context, AttributeSet attrs)

Since: API Level 1

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

Since: API Level 1

Public Methods

public boolean canPause ()

Since: API Level 5

public boolean canSeekBackward ()

Since: API Level 5

public boolean canSeekForward ()

Since: API Level 5

public int getBufferPercentage ()

Since: API Level 1

public int getCurrentPosition ()

Since: API Level 1

public int getDuration ()

Since: API Level 1

public boolean isPlaying ()

Since: API Level 1

public void onInitializeAccessibilityEvent (AccessibilityEvent event)

Since: API Level 14

Initializes an AccessibilityEvent with information about this View which is the event source. In other words, the source of an accessibility event is the view whose state change triggered firing the event.

Example: Setting the password property of an event in addition to properties set by the super implementation:

 public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
     super.onInitializeAccessibilityEvent(event);
     event.setPassword(true);
 }

If an View.AccessibilityDelegate has been specified via calling setAccessibilityDelegate(AccessibilityDelegate) its onInitializeAccessibilityEvent(View, AccessibilityEvent) is responsible for handling this call.

Note: Always call the super implementation before adding information to the event, in case the default implementation has basic information to add.

Parameters
event The event to initialize.

public void onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info)

Since: API Level 14

Initializes an AccessibilityNodeInfo with information about this view. The base implementation sets:

Subclasses should override this method, call the super implementation, and set additional attributes.

If an View.AccessibilityDelegate has been specified via calling setAccessibilityDelegate(AccessibilityDelegate) its onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo) is responsible for handling this call.

Parameters
info The instance to initialize.

public boolean onKeyDown (int keyCode, KeyEvent event)

Since: API Level 1

Default implementation of KeyEvent.Callback.onKeyDown(): perform press of the view when KEYCODE_DPAD_CENTER or KEYCODE_ENTER is released, if the view is enabled and clickable.

Key presses in software keyboards will generally NOT trigger this listener, although some may elect to do so in some situations. Do not rely on this to catch software key presses.

Parameters
keyCode A key code that represents the button pressed, from KeyEvent.
event The KeyEvent object that defines the button action.
Returns
  • If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

public boolean onTouchEvent (MotionEvent ev)

Since: API Level 1

Implement this method to handle touch screen motion events.

Parameters
ev The motion event.
Returns
  • True if the event was handled, false otherwise.

public boolean onTrackballEvent (MotionEvent ev)

Since: API Level 1

Implement this method to handle trackball motion events. The relative movement of the trackball since the last event can be retrieve with MotionEvent.getX() and MotionEvent.getY(). These are normalized so that a movement of 1 corresponds to the user pressing one DPAD key (so they will often be fractional values, representing the more fine-grained movement information available from a trackball).

Parameters
ev The motion event.
Returns
  • True if the event was handled, false otherwise.

public void pause ()

Since: API Level 1

public int resolveAdjustedSize (int desiredSize, int measureSpec)

Since: API Level 1

public void resume ()

Since: API Level 8

public void seekTo (int msec)

Since: API Level 1

public void setMediaController (MediaController controller)

Since: API Level 1

public void setOnCompletionListener (MediaPlayer.OnCompletionListener l)

Since: API Level 1

Register a callback to be invoked when the end of a media file has been reached during playback.

Parameters
l The callback that will be run

public void setOnErrorListener (MediaPlayer.OnErrorListener l)

Since: API Level 1

Register a callback to be invoked when an error occurs during playback or setup. If no listener is specified, or if the listener returned false, VideoView will inform the user of any errors.

Parameters
l The callback that will be run

public void setOnPreparedListener (MediaPlayer.OnPreparedListener l)

Since: API Level 1

Register a callback to be invoked when the media file is loaded and ready to go.

Parameters
l The callback that will be run

public void setVideoPath (String path)

Since: API Level 1

public void setVideoURI (Uri uri)

Since: API Level 1

public void start ()

Since: API Level 1

public void stopPlayback ()

Since: API Level 1

public void suspend ()

Since: API Level 8

Protected Methods

protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)

Since: API Level 1

Measure the view and its content to determine the measured width and the measured height. This method is invoked by measure(int, int) and should be overriden by subclasses to provide accurate and efficient measurement of their contents.

CONTRACT: When overriding this method, you must call setMeasuredDimension(int, int) to store the measured width and height of this view. Failure to do so will trigger an IllegalStateException, thrown by measure(int, int). Calling the superclass' onMeasure(int, int) is a valid use.

The base class implementation of measure defaults to the background size, unless a larger size is allowed by the MeasureSpec. Subclasses should override onMeasure(int, int) to provide better measurements of their content.

If this method is overridden, it is the subclass's responsibility to make sure the measured height and width are at least the view's minimum height and width (getSuggestedMinimumHeight() and getSuggestedMinimumWidth()).

Parameters
widthMeasureSpec horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.