2014-12-19 30 views
1

我試圖創建一個自定義視頻播放,具有視頻觀看和媒體控制器:如何更新媒體控制器android的進度條?

VideoView mVideoView =(VideoView) findViewById(R.id.videoView); 
mVideoView.setVideoURI(uri); 

MediaController mMediaController = new MyMediaController(this); 
mMediaController.findFocus(); 
mMediaController.setEnabled(true); 
mMediaController.setAnchorView(mVideoView); 
mVideoView.setMediaController(mMediaController); 

問題是:當我以編程方式更改搜索條價值:

mVideoView.pause(); 
mVideoView.seekTo(newValue); 

的MediaController沒有按不會立即更新這些更改。只有當我再次觸摸它時,它纔會更新。任何人都可以告訴我更新媒體控制器狀態的正確方法嗎?非常感謝!

回答

1

這個你必須設置一個處理程序,它調用後像下面每隔一秒代碼 -

static Runnable musicSchedular = new Runnable() { 
    @Override 
    public void run() { 
     resetSeek(); 
    } 
}; 

public static void resetSeek(){ 
    long currentDuration = mediaPlayer.getCurrentPosition(); 
    int cPos = (int)currentDuration/1000; 
    seekBar.setProgress(cPos); 
} 

,當你開始玩音樂粘貼此行代碼

myHandler.postDelayed(musicSchedular,100); 

希望將解決你的問題。