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

暂停时如何访问VLC的运行时间?-Java字幕字符串解析程序,java,open-source,vlc,playback,string-parsing,Java,Open Source,Vlc,Playback,String Parsing,我正在编写一个java程序来解析字幕文件中的文本 这个想法是,每当我在播放电影时遇到字幕中我不知道的单词时,我暂停视频并打开我的客户端,然后客户端访问经过的时间,获取句子,并使用一些离线词典显示该句子中所有单词的含义 我只想“获得那一刻的弹性时间””-我认为这是最基本的事情,所以我不想看所有关于VLC的文档(我试过了,但我觉得它们太复杂了,我对进一步推动VLC开源没有兴趣)你在使用什么操作系统? 据我记忆所及,在linux上,VLC(如mplayer)一直向控制台输出电影播放的距离,我还记得它暂

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

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

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

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

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


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

我用AutoHotkey编写了一个脚本,可以从VLC检索经过的时间和持续时间, 通过Microsoft活动辅助功能(MSAA)

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

要使用它:

安装AutoHotkey时,最大空间约为5 MB, 将脚本另存为.ahk文件,然后双击要运行的文件, 或者将其另存为.txt文件,并将其拖放到中的某个exe文件中 C:\Program Files\Auto热键。 下载链接: 自动热键

您还需要下载Acc.ahk并将其放在此处: C:\Program Files\AutoHotkey\Lib。 说明和下载链接如下: Acc库(MSAA)和AccViewer下载链接-自动热键社区

希望有帮助

注意:如果使用VLC,这种脚本可能会中断 在某个时候做一次彻底的更新,但这很容易调整
再次正常工作。

我正在使用windows,还没有真正使用过ubuntu,但我会去看看,谢谢你的建议。如何在ubuntu中访问控制台输出,我的意思是,我应该和我的客户端一起运行控制台,还是在后台运行?@wannabe everthing:对不起,我不是一个windows操作系统的人。在linux中,您可以执行以下操作
vlc example.mpg 2>java MyProgram
在控制台中启动视频并将输出重定向到java程序。
^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