返回介绍

MediaController

发布于 2025-03-09 17:00:30 字数 3909 浏览 0 评论 0 收藏 0

MediaController

版本:Android 2.3 r1

结构

继承关系

public class MediaController extends FrameLayout

java.lang.Object

android.view.View

android.view.ViewGroup

android.widget.FrameLayout

android.widget.MediaController

类概述

一个包含媒体播放器(MediaPlayer) 控件的视图。包含了一些典型的按钮,像"播放(Play)/暂停(Pause)", "倒带(Rewind)", "快进(Fast Forward)"与进度滑动器(progress slider)。它管理媒体播放器(MediaController) 的状态以保持控件的同步。

通过编程来实例化使用这个类。这个媒体控制器将创建一个具有默认设置的控件,并把它们放到一个窗口里漂浮在你的应用程序上。具体来说,这些控件会漂浮在通过 setAnchorView() 指定的视图上。如果这个窗口空闲 3 秒那么它将消失,直到用户触摸这个视图的时候重现。

当媒体控制器是在一个 XML 布局资源文件中创建的时候,像 show() 和 hide() 这些函数是无效的。媒体播放器将根据这些规则去显示和隐藏:

  • 在调用 setPrevNextListeners() 函数之前,"previous"和 "next"按钮都是隐藏的。
  • 如果 setPrevNextListeners() 函数被调用但传入的监听器参数是 null,那么"previous"和 "next"按钮是可见的但是处于禁用状态。
  • "rewind" 和 "fastforward"按钮是显示的,如果不需要可以使用构造函数 MediaController(Context, boolean) 将 boolean 设置为 false。

公共方法

public boolean dispatchKeyEvent (KeyEvent event)

在焦点路径上分发按钮事件到下一个视图。该路径从视图树的顶端遍历到当前获得焦点的视图。如果当前视图已获得焦点,就分发给自身。否则,就分发到下一个节点的焦点路径上。这个方法也可以激发任何一个按键消息监听器。

参数

event 被分发的事件

返回值

如果这个事件被处理了返回 true,否则返回 false。

public void hide ()

从屏幕中移除控制器。

public boolean isShowing ()

(译者注:判断媒体控制器是否处于可见状态。)

public void onFinishInflate ()

XML 文件加载视图完成时调用。这个函数在加载的最后阶段被调用,所有的子视图已经被添加。

即使子类重写了 onFinishInflate 方法,也应该始终确保调用父类方法,以便我们调用。

public boolean onTouchEvent (MotionEvent event)

实现这个方法来处理触摸屏幕引发的事件。

参数

event 动作事件

返回值

如果这个事件被处理了返回 true,否则返回 false。

public boolean onTrackballEvent (MotionEvent ev)

实现这个方法处理轨迹球的动作事件,轨迹球相对运动的最后一个事件能用 MotionEvent.getX()MotionEvent.getY() 函数获取。这些都是标准化的,用 1 表示用户按下一个 DPAD 按键。(因此他们将经常使用小数值表示,为轨迹球提供更多的的细微运动信息) (译者注:DPAD 按键事件: KeyEvent.KEYCODE_DPAD_CENTER(居中)、KeyEvent.KEYCODE_DPAD_DOWN(向下)、KeyEvent.KEYCODE_DPAD_LEFT(向左)、KeyEvent.KEYCODE_DPAD_RIGHT(向右)、KeyEvent.KEYCODE_DPAD_UP(向上)作比较。分别表示居中、下移、左移、右移、上移的操作。 相关链接: onTrackBallEvent 方法简介

参数

ev 动作事件

返回值

如果这个事件被处理了返回 true,否则返回 false。

public void setAnchorView (View view)

设置这个控制器绑定(anchor/锚) 到一个视图上。例如可以是一个 VideoView 对象,或者是你的 activity 的主视图。

参数

view 将视图来绑定控制器时可见

public void setEnabled (boolean enabled)

设置视图对象的有效状态。这也可以改变子类的有效状态。

参数

enabled 如果要让这个视图对象可用就设置为 true,否则设置为 false。

public void setMediaPlayer (MediaController.MediaPlayerControl player)

(译者注:把这个媒体控制器设置到 VideoView 对象上。)

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

(译者注:设置"previous"和 "next"按钮的监听器函数。)

public void show (int timeout)

在屏幕上显示这个控制器。它将在闲置’超时 (timeout)’毫秒到达后自动消失。

参数

timeout 这个参数以毫秒为单位。如果设置为 0 将一直显示到调用 hide() 函数为止。

public void show ()

在屏幕上显示这个控制器。它将在 3 秒以后自动消失。

补充

文章精选

[推荐] [Android 学习指南]Android 多媒体(Media)

调用 android api 播放视频

Customize android VideoView (ii)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文