当前位置: 首页 > 知识库问答 >
问题:

如何访问VLC暂停时的经过时间?-Java字幕字符串解析程序

锺离声
2023-03-14

我正在编写一个java程序来解析字幕文件中的文本。

这个想法是,每当我在播放电影时遇到字幕中我不知道的单词时,我暂停视频并打开我的客户端,然后客户端访问经过的时间,获取句子,并使用一些离线词典显示该句子中所有单词的含义。

我只想“在那一刻得到弹性时间”——我认为这是最基本的事情,所以我不想看所有关于VLC的文档(我试过了,但我觉得它们太复杂了,我对进一步为VLC开源做贡献没有兴趣)

共有2个答案

宇文鸣
2023-03-14

你在用什么操作系统?据我记忆所及,在linux上,VLC(如mplayer)一直向控制台输出电影播放的距离,我还记得它暂停了。

在这种情况下,您可以简单地将这个输出重定向到您的java程序的输入,该程序读取它并等待“暂停”标记。比读回最后一个时间戳。

也许有更好的方法,但这可能是最简单的方法,没有任何进一步的研究,对我来说。

全飞扬
2023-03-14

我用AutoHotkey编写了一个脚本,可以通过Microsoft主动可访问性(MSAA)从VLC检索经过的时间和持续时间。

^q::
WinGet, hWnd, ID, ahk_class QWidget ahk_exe vlc.exe
oAcc := Acc_Get("Object", "4.3.3", 0, "ahk_id " hWnd)
vText := oAcc.accChild(1).accName(0) " / " oAcc.accChild(3).accName(0)
oAcc := ""
MsgBox % vText
Return

您通过Ctrl Q启动脚本,它将在MsgBox中输出时间。例如,您可以使用FileReadLoop,Parse在字幕. srt文件中查找匹配点。或者,您可以使用FileAppend将时间戳附加到. txt文件中,然后将其读入Java。

要使用它:

您可以安装AutoHotkey,最大空间约为5 MB,并将脚本另存为。ahk文件并双击要运行的文件,或将其另存为。txt文件,并将其拖放到C:\Program files\AutoHotkey中的一个exe文件中。下载链接:自动热键http://ahkscript.org/

您还需要下载Acc.ahk并将其放在这里:C:\Program Files\AutoHotkey\Lib。此处的说明和下载链接:Acc库(MSAA)和AccViewer下载链接-自动热键社区https://autohotkey.com/boards/viewtopic.php?f=6

希望有帮助。

注意:如果VLC在某个时候进行了彻底的更新,这种脚本可能会中断,但可以很容易地重新调整以再次正常工作。

 类似资料:
  • 本文向大家介绍Java程序访问字符串字符,包括了Java程序访问字符串字符的使用技巧和注意事项,需要的朋友参考一下 要在Java中访问字符串的字符,请使用方法。该位置将作为参数添加。 假设我们有以下字符串- 让我们使用method在第4个位置找到字符。 以下是最后一个示例。 示例 输出结果

  • 问题内容: 众所周知的Java库可以将时间字符串(例如“ 30min”或“ 2h 15min”或“ 2d 15h 30min”)解析为毫秒(或某种Duration对象)。Joda-Time可以做这样的事情吗? (我维护这种方法的方法很丑陋,并且想摆脱它/将其替换为性能更好的方法。) 问题答案: 您可能需要针对自己的格式进行一些调整,但可以尝试以下方法: 请注意,如果需要使参数更灵活,可以使用带参数

  • 问题内容: 我有一个日期时间字符串,我不知道如何在Python中解析它。 字符串是这样的: 我试过了 但是Python引发 根据Python文档: %z UTC偏移量,格式为+ HHMM或-HHMM(如果对象是天真对象,则为空字符串)。 解析此时间字符串的正确格式是什么? 问题答案: 时区解析有问题。看一下包装:

  • 问题内容: 我遇到了将“星期几”字符串转换为值的问题。我找不到包中内置的任何内容。 然后,我编写了这个简单的函数(满足了我的需求): 还有其他 建议 或 更惯用的 方式在Golang中执行此转换吗? 谢谢! 问题答案: 前言: 我在中发布了此实用程序,请参见。 是的,使用映射而不是数组,因此查找更快,更简单: 测试它: 输出(在Go Playgorund上尝试): 小费: 您甚至可以使用循环来安全

  • 本实例演示了如何通过DateFormat类的parse方法根据不同的本地环境解析日期/时间字符串,并将其转换成Date对象。在最后还演示了parse方法如何解析不符合日期/时间逻辑的字符串。 例子 : 解析日期/时间字符串 实例的代码如下: package chapter8; import java.text.DateFormat; import java.util.Date; import ja

  • 我有一个字符串时间格式。我没有找到任何格式来解析这个字符串值。有没有办法将这个字符串值转换为Gotime.Time? 编辑 - 这不是重复的问题。我知道如何解析,但我不知道我们可以使用时间格式包中列出的任何布局。这个答案清除了我的涂鸦。