很抱歉打扰您,我还有一个关于 vlcj 的问题。对于这个学校项目,我需要知道如何捕获当前在 MediaPlayer 上播放的视频的时间戳并将该信息添加到数据库中。
目前我正在使用 getTime() 方法:
start = (int)mediaPlayerComponent.getMediaPlayer().getTime();
“start”是存储此信息的数据库的列名称(整数类型)。像这样实现当前的播放时间是可以的,但是如果我可以像摄像机一样捕获时间戳(您知道视频何时录制),这将对我的程序将来的使用有很大帮助。
我在网上搜索了vlcj的API,但没有找到信息。你能帮我吗?
提前感谢您提供任何可能的答案,祝您有美好的一天。
最佳答案
好吧,据我所知,没有“直接”的解决方案,但我的老师建议我制作一条五步路径而不是一步。多亏了她,现在可以获得视频录制的时间。所以这里是说明:
//I'll take the time where I'm in the video
long time = mediaPlayerComponent.getMediaPlayer().getTime();
//I'll take the lenght of the video
long lenght = mediaPlayerComponent.getMediaPlayer().getLength();
//Now I need to know the path
File file = choosed.getSelectedFile();
String uri = file.getPath();
Path path = Paths.get(uri);
//I'll take the last time this video was modified and
//transform that information in milliseconds
FileTime fileTime = Files.getLastModifiedTime(path);
long lastModifiedTime = fileTime.toMillis();
//I'll make a simple equation
start = (lastModifiedTime - lenght) + time;
我将起始整数类型更改为长类型,以获得更具可读性的代码,但没有:“start = (int)(lastModifiedTime - lenght) + (int)time”。
我希望这可以帮助别人。抱歉我的英语不好,祝你有美好的一天!
附注忘记添加一个 link您可以在其中将毫秒时间转换为 年、月、日、时...
关于java - Vlcj - 如何使用 Java 获取时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43088523/