2016-12-22 11 views
3

私はJavaプログラムを字幕ファイルから解析することを扱っています。私はビデオを一時停止し、私のクライアントを開く映画、を再生しながら、私は知らない字幕の単語に出くわしたときに一時停止時にVLCの経過時間にアクセスする方法は? - Java字幕文字列解析プログラム

アイデアは、ある場合、クライアントは、経過時間にアクセス文章を取得するおよびは、オフライン辞書を使用して、その文章内のすべての単語の意味を表示します。

私はちょうどその瞬間で「」と思っています。これは本当に基本的なことだと思いますので、VLCのすべてのドキュメンテーションを読みたいと思っています。私はVLCオープンソースにさらに貢献することに興味がありません)

答えて

0

あなたはどのOSを使用していますか? 私がlinux VLC(mplayerのような)で覚えることができる限り、ムービーが再生されるまでのすべての時間をコンソールに出力し、また一時停止します。

この場合、この出力を読み取ったJavaプログラムの入力にリダイレクトして、「一時停止」マーカーが来るまで待つことができます。最後のタイムスタンプを読み戻すよりも。

もっと良い方法があるかもしれませんが、この縫い目は私にはそれ以上の研究をせずに、最も簡単な方法です。

+0

私はウインドウを使っていますが、実際にubuntuを使っていませんが、それをチェックします。そして、ubuntuでそのコンソール出力にアクセスするには、私はクライアントと一緒にコンソールを起動しなければなりませんか、それともバックグラウンドで実行するのでしょうか? –

+0

@wannabe everthing:すみません、私は窓の男ではありません。 linuxでは、この 'vlc exaample.mpg 2> java MyProgram'のようなことをして、コンソールでビデオを開始し、出力をJavaプログラムにリダイレクトします。 – MrSmith42

0

私はMicrosoft Active Accessibility(MSAA)を介してVLC から経過時間と期間を取得できるスクリプトをAutoHotkeyで作成しました。

^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に読み込むこともできます。

これを使用するには:あなたは、スペースの5メガバイトの周りにAutoHotkeyを、最大のインストール

、 は.ahkファイルとしてスクリプトを保存して、 を実行するために、ファイルをダブルクリックするか、.txtファイルとして保存しますそれを C:\ Program Files \ AutoHotkeyのexeファイルの1つにドラッグアンドドロップします。ここ ダウンロードリンク: AutoHotkeyを http://ahkscript.org/

また、あなたがAcc.ahkをダウンロードし、それをここに配置する必要があります: C:\プログラムファイル\ AutoHotkeyを\ libが。 命令と、ここでダウンロードリンク: Accのライブラリ(MSAA)とAccViewerのダウンロードリンク - AutoHotkeyをコミュニティ https://autohotkey.com/boards/viewtopic.php?f=6&t=26201

希望に役立ちます。

注:これは、VLC がある時点で根本的な更新を行う場合、潜在的に壊れる可能性のある種類のスクリプトですが、再度正しく再調整するには簡単に再調整できます。

関連する問題