如何将VideoView跳转至指定播放时长位置?找不到setCurrentPosition方法该怎么办?
如何在VideoView中跳转到指定播放位置
嘿,别纠结啦,VideoView其实完全支持跳转到指定播放位置,只是方法名不是你预想的setCurrentPosition——它对应的专用方法是**seekTo(int msec)**。
方法说明
seekTo()的参数是你想要跳转的目标位置,单位是毫秒。比如你想跳到视频第15秒的位置,就需要传入15 * 1000。
关键注意事项
要保证VideoView完成资源加载后再调用这个方法,不然可能会出现跳转无效的情况。最稳妥的做法是把seekTo()放在OnPreparedListener的回调里,确保视频已经准备就绪:
代码示例
// 获取VideoView实例 VideoView videoView = findViewById(R.id.your_video_view); videoView.setVideoPath("你的视频本地路径或网络Uri"); // 设置准备监听器,确保视频加载完成后执行跳转 videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { // 跳转到第15秒的播放位置 videoView.seekTo(15 * 1000); // 启动播放(如果需要的话) videoView.start(); } });
如果是在视频播放/暂停状态下跳转,直接调用seekTo()即可(前提是视频已经完成过加载):
// 比如暂停时跳转到第30秒,之后继续播放 videoView.pause(); videoView.seekTo(30 * 1000); videoView.start();
内容的提问来源于stack exchange,提问作者Programmer
相关产品推荐
相关产品推荐

