我正在尝试创建自定义视频播放,它具有视频 View 和媒体 Controller :
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 不会立即更新这些更改。只有在我再次触摸它后它才会更新。谁能告诉我更新媒体 Controller 状态的正确方法?非常感谢!
最佳答案
为此,您必须设置一个处理程序,每隔一秒调用一次,如下面的代码-
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);
希望它能解决您的问题。
关于android - 如何更新媒体 Controller android的进度条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27561905/