私は、何かを実行し、ビデオファイルを再生し、さらにいくつかのことを実行することになっている単純なPythonスクリプトに取り組んでいます。
Windows XPマシンでPython 3.2.および[〜#〜] vlc [〜#〜]を使用してこれを実行する必要がありますビデオファイルを再生します。
私は現在このコードを使用しています...
vlc_path = '\\path\\to\\vlc.exe'
video_path = '\\path\\to\\video\\file'
subprocess.call([vlc_path, video_path])
... VLCを開いてビデオを再生します。それはうまく機能します。ただし、スクリプトはVLCが終了するのを待ってから続行します。それは良いことであり、私はそれをそのように保ちたいと思います。
私の質問は:ビデオファイルが再生された直後にVLCを終了する方法はありますか?
助けてくれてありがとう!
おかしなことに、vlcにはこのためのコマンドラインオプションがあります。
--play-and-exit, --no-play-and-exit
Play and exit (default disabled)
したがって、このオプションをvlcに渡すだけです。
別のオプションは、ダミーアイテムvlc://quit
を渡すことです。例:
vlc audio1.mp3 audio2.mp3 vlc://quit
ソース: https://wiki.videolan.org/Transcode/#Completely_non-interactive_transcoding
私が考えることができる最善の方法は、Pythonでのビデオの長さがわかっている場合、ビデオの長さが経過した後、別のスレッドでプロセスを強制終了することです。他の場所では、VLCのコマンドラインオプションに依存します。たぶん、あなたは彼に映画を再生した後に閉じるように言うことができます。
何も機能しない場合は、最後の--ignore-config
に加えて、最初のvlc
の後にオプションhttp://quit
を使用してみてください