android - 如何更新媒体 Controller android的进度条?

标签 android seekbar android-video-player mediacontroller

我正在尝试创建自定义视频播放,它具有视频 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/

相关文章:

android - 如何将 Android Studio .AAR 文件发布到本地 Artifactory 存储库

android - 移动浏览器上的锁定屏幕方向

Android: MapView 绘制具有动态半径的圆(以米为单位)

java - Android - SeekBar 和 MediaPlayer

android - 如何为大型内容创建流媒体视频播放器?

java - Android:像 Dailymotion App 这样的视频播放器

android - Robolectric 不支持 API 级别 27

java - 屏幕关闭时继续播放音乐

android - 求进度条Drawable Expand

android - Android 上的 HLS 流式传输