2014-12-19 31 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); 

希望将解决你的问题。