Android 中文API (94) —— MediaController

來源:互聯網
上載者:User

前言

  本章內容是android.widget.MediaController,版本為Android 2.3 r1,翻譯來自"唐明",再次感謝"唐明" !期待你一起參與Android 中文API的翻譯,聯絡我over140@gmail.com。

 

聲明

  歡迎轉載,但請保留文章原始出處:)

    部落格園:http://www.cnblogs.com/

    Android中文翻譯組:http://goo.gl/6vJQl

 

本文

  一、結構

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)


結束

  大家抱歉!年底非常忙,有所耽誤進度,進來保持最低進度,爭取年前(春節)也就是下周末前完成100篇的目標,感謝大家的支援,歡迎加入我們一起來堅持這項浩大的工程。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.