1. 程式人生 > >Vitamio中文API文件(3)—— MediaController

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

MediaController與VideoView配套使用,基本能實現播放介面的主要功能,大家可用參考 OPlayer的程式碼實現。


類概述
        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()
建立控制播放的佈局檢視。子類可重寫此方法建立自定義檢視。