天天看點

Vitamio中文API文檔(3)—— MediaController

類概述

public class MediaController extends FrameLayout

一個包含媒體播放器(MediaPlayer)的媒體控制條。通常包括“播放/暫停”和SeekBar。它管理MediaPlayer的狀态以保持控件的同步。

使用這個類的方法:

a). 通過程式設計來執行個體化這個類。

這個媒體控制器将建立一個具有預設設定的控件,并把它們放到一個視窗裡漂浮在你的應用程式上。具體來說,這些控件會漂浮在通過setAnchorView()指定的視圖上。如果這個視窗空閑3秒那麼它将消失,直到使用者觸摸這個視圖的時候重制。要自定義MediaController的風格、布局和控件,你可以擴充MediaController覆寫makeControllerView方法。

b). 通過xml布局建立。

MediaController是一個FrameLayout,你可以把它放到你的布局中并通過findViewById來獲得。

備注:如果你想自定義MediaController,SeekBar的id必須是“mediacontroller_progress”、暫停/播放必須是“mediacontroller_pause”、目前時間必須是“mediacontroller_time_current”,總時間必須是“mediacontroller_time_total”、檔案名稱必須是“mediacontroller_file_name”。并且還必須有pause_button和play_button資源(drawable)。

當MediaController通過xml 布局建立時,像show()、hide()這些函數是無效的。

公共方法

public void onFinishInflate()

從XML加載完所有子視圖後調用。初始化控制視圖(調用initControllerView方法,設定事件、綁定控件和設定預設值)。

public void setAnchorView(View view)

設定MediaController綁定到一個視圖上。例如可以是一個VideoView對象,或者是你的activity的主視圖。

參數

view 可見時綁定的視圖

public void setMediaPlayer(MediaPlayerControl player)

設定媒體播放器。并更新播放/暫停按鈕狀态。

public void setInstantSeeking(boolean seekWhenDragging)

設定使用者拖拽SeekBar時畫面是否跟着變化。(VPlayer預設完成操作後再更新畫面)

public void show()

顯示MediaController。預設顯示3秒後自動隐藏。

public void show(int timeout)

顯示MediaController。在timeout毫秒後自動隐藏。

timeout 逾時時間,機關毫秒。為0時控制條的hide()将被調用。

public void setFileName(String name)

設定視訊檔案名稱。

public void setInfoView(OutlineTextView v)

設定儲存MediaController的操作資訊。例如進度改變時更新v。

public void setAnimationStyle(int animationStyle)

更改MediaController的動畫風格。

如果MediaController正在顯示,調用此方法将在下一次顯示時生效。

animationStyle 在MediaController顯示或隐藏時使用的動畫風格。設定-1為預設風格,0沒有動畫,或設定一個明确的動畫資源。

public boolean isShowing()

擷取MediaController是否已經顯示。

public void hide()

隐藏MediaController。

public void setOnShownListener(OnShownListener l)

注冊一個回調函數,在MediaController顯示後被調用。

public void setOnHiddenListener(OnHiddenListener l)

注冊一個回調函數,在MediaController隐藏後被調用。

public boolean onTouchEvent(MotionEvent event)

調用show()并傳回true。

public boolean onTrackballEvent(MotionEvent ev)

調用show()并傳回false。

public void setEnabled(boolean enabled)

設定MediaController的可用狀态。包括進度條和播放/暫停按鈕。

受保護方法

protected View makeControllerView()

建立控制播放的布局視圖。子類可重寫此方法建立自定義視圖。

繼續閱讀