You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VLCJ应用中如何实现视频前后跳转?旧API方法已失效

VLCJ 4.7.3 实现视频前后跳转功能

当然可以实现,vlcj 4.x版本只是重构了API结构,把控制类方法整合到了统一入口,以下是具体操作方式:

核心API说明

vlcj 4.x将原MediaPlayer类上的播放控制方法(包括跳转)移到了ControlsApi中,你需要通过mediaPlayer.controls()获取这个API实例,再调用对应的跳转方法。

具体实现方式

1. 跳转到指定绝对时间点

使用setTime()方法,参数为目标时间(单位:毫秒),示例:

// 跳转到视频的第10秒位置
mediaPlayer.controls().setTime(10000L);

2. 相对当前位置前后跳转(快进/快退)

先获取当前播放时间,加上/减去偏移量后再调用setTime(),同时建议做边界校验避免超出媒体时长范围:

// 快进10秒
long currentTime = mediaPlayer.status().time();
long totalDuration = mediaPlayer.status().duration();
long offset = 10000L; // 10秒偏移量

long newTime = currentTime + offset;
// 确保不超过媒体总时长,且不小于0
newTime = Math.max(0L, Math.min(newTime, totalDuration));

mediaPlayer.controls().setTime(newTime);
// 快退10秒
long currentTime = mediaPlayer.status().time();
long offset = -10000L; // 负数值表示后退

long newTime = currentTime + offset;
newTime = Math.max(0L, newTime); // 后退不能小于0

mediaPlayer.controls().setTime(newTime);

关于旧文档失效的说明

你看到的Tabnine、TutorialsPoint上的方法都是针对vlcj 3.x及更早版本的,4.x版本对API做了大幅重构,移除了原MediaPlayer类直接的seek()、skipWhile()等方法,统一归到ControlsApi下,所以旧教程内容不再适用。

内容的提问来源于stack exchange,提问作者Factor Three

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 11:57:15