我正在尝试创建自定义视频播放,其中包含视频视图和媒体控制器:
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不会立即更新这些更改。它只在我再次触摸后更新。谁能告诉我更新媒体控制器状态的正确方法?非常感谢!
答案 0 :(得分: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);
希望它能解决你的问题。