Android
android.widget
public class

android.widget.MediaController

java.lang.Object
android.view.View Drawable.Callback KeyEvent.Callback
android.view.ViewGroup ViewManager ViewParent
android.widget.FrameLayout
android.widget.MediaController

A view containing controls for a MediaPlayer. Typically contains the buttons like "Play/Pause", "Rewind", "Fast Forward" and a progress slider. It takes care of synchronizing the controls with the state of the MediaPlayer.

The way to use this class is to instantiate it programatically. The MediaController will create a default set of controls and put them in a window floating above your application. Specifically, the controls will float above the view specified with setAnchorView(). The window will disappear if left idle for three seconds and reappear when the user touches the anchor view.

Functions like show() and hide() have no effect when MediaController is created in an xml layout. MediaController will hide and show the buttons according to these rules:

  • The "previous" and "next" buttons are hidden until setPrevNextListeners() has been called
  • The "previous" and "next" buttons are visible but disabled if setPrevNextListeners() was called with null listeners
  • The "rewind" and "fastforward" buttons are shown unless requested otherwise by using the MediaController(Context, boolean) constructor with the boolean set to false

Nested Classes

Summary

XML Attributes inherited from class android.widget.FrameLayout
XML Attributes inherited from class android.view.ViewGroup
XML Attributes inherited from class android.view.View
Constants inherited from class android.view.ViewGroup
Constants inherited from class android.view.View

Public Constructors

            MediaController(Context context, AttributeSet attrs)
            MediaController(Context context, boolean useFastForward)
            MediaController(Context context)

Public Methods

          boolean  dispatchKeyEvent(KeyEvent event)
Dispatch a key event to the next view on the focus path.
          void  hide()
Remove the controller from the screen.
          boolean  isShowing()
          void  onFinishInflate()
Finalize inflating a view from XML.
          boolean  onTouchEvent(MotionEvent event)
Implement this method to handle touch screen motion events.
          boolean  onTrackballEvent(MotionEvent ev)
Implement this method to handle trackball motion events.
          void  setAnchorView(View view)
Set the view that acts as the anchor for the control view.
          void  setEnabled(boolean enabled)
Set the enabled state of this view.
          void  setMediaPlayer(MediaController.MediaPlayerControl player)
          void  setPrevNextListeners(View.OnClickListener next, View.OnClickListener prev)
          void  show()
Show the controller on screen.
          void  show(int timeout)
Show the controller on screen.
Methods inherited from class android.widget.FrameLayout
Methods inherited from class android.view.ViewGroup
Methods inherited from class android.view.View
Methods inherited from class java.lang.Object
Methods inherited from interface android.graphics.drawable.Drawable.Callback
Methods inherited from interface android.view.KeyEvent.Callback
Methods inherited from interface android.view.ViewManager
Methods inherited from interface android.view.ViewParent

Details

Public Constructors

public MediaController(Context context, AttributeSet attrs)

public MediaController(Context context, boolean useFastForward)

public MediaController(Context context)

Public Methods

public boolean dispatchKeyEvent(KeyEvent event)

Dispatch a key event to the next view on the focus path. This path runs from the top of the view tree down to the currently focused view. If this view has focus, it will dispatch to itself. Otherwise it will dispatch the next node down the focus path. This method also fires any key listeners.

Parameters

event The key event to be dispatched.

Returns

  • True if the event was handled, false otherwise.

public void hide()

Remove the controller from the screen.

public boolean isShowing()

public void onFinishInflate()

Finalize inflating a view from XML. This is called as the last phase of inflation, after all child views have been added.

Even if the subclass overrides onFinishInflate, they should always be sure to call the super method, so that we get called.

public boolean onTouchEvent(MotionEvent event)

Implement this method to handle touch screen motion events.

Parameters

event The motion event.

Returns

  • True if the event was handled, false otherwise.

public boolean onTrackballEvent(MotionEvent ev)

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 setAnchorView(View view)

Set the view that acts as the anchor for the control view. This can for example be a VideoView, or your Activity's main view.

Parameters

view The view to which to anchor the controller when it is visible.

public void setEnabled(boolean enabled)

Set the enabled state of this view. The interpretation of the enabled state varies by subclass.

Parameters

enabled True if this view is enabled, false otherwise.

public void setMediaPlayer(MediaController.MediaPlayerControl player)

public void setPrevNextListeners(View.OnClickListener next, View.OnClickListener prev)

public void show()

Show the controller on screen. It will go away automatically after 3 seconds of inactivity.

public void show(int timeout)

Show the controller on screen. It will go away automatically after 'timeout' milliseconds of inactivity.

Parameters

timeout The timeout in milliseconds. Use 0 to show the controller until hide() is called.
Copyright 2007 Google Inc. Build 119366-119366 - 19 Nov 2008 16:04