Linux Shell:VLC编程

Wil*_*sem 11 linux bash shell vlc

有没有办法在没有脚本等待VLC关闭的情况下使用Linux shell脚本操作VLC.

cvlc test.mp3
echo "Now playing!"
sleep 200
cvlc://pause:60
Run Code Online (Sandbox Code Playgroud)

此代码保持运行VLC直到文件完成,然后显然暂停文件是迟到的.

Abh*_*ogi 16

您需要使用VLC的dbus接口.

在此输入图像描述

现在,您可以使用VLC 的mpris界面.这是大多数玩家的标准,如克莱门汀,女妖,鸣鸟,spotify等.

所以,假设你想要暂停当前正在播放的歌曲.

dbus-send --print-reply --session --dest=org.mpris.vlc /Player org.freedesktop.MediaPlayer.Pause
Run Code Online (Sandbox Code Playgroud)

要播放一首歌:

dbus-send --print-reply --session --dest=org.mpris.vlc /Player org.freedesktop.MediaPlayer.Play
Run Code Online (Sandbox Code Playgroud)

我通常使用qdbusviewer来了解我可用的dbus接口.

  • 虽然您的解决方案指出了我正确的方向,但目前的VLC只接受略有不同的实现.例如:`dbus-send --session --type = method_call --print-reply --dest = org.mpris.MediaPlayer2.vlc/org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Pause` (5认同)