如何从命令行暂停 VLC

时间:2020-12-21 09:01:58

标签: vlc dbus i3

我使用 i3wm 作为我的窗口管理器,我想添加一个绑定到播放/暂停、下一个、上一个和停止 VLC。但是,与 MPV 不同的是,当 VLC 进程已经在外部运行时,VLC 没有内置的 CLI 控制。

3 个答案:

答案 0 :(得分:1)

我发现 this lovely Reddit comment 的回答比播放/暂停的需要,通过反复试验,我发现了如何停止/上一个和下一个:

bindsym XF86AudioNext exec dbus-send --type=method_call \
        --dest=org.mpris.MediaPlayer2.vlc \
        /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next

bindsym XF86AudioPrev exec dbus-send --type=method_call \
        --dest=org.mpris.MediaPlayer2.vlc \
        /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous

bindsym XF86AudioPlay exec dbus-send --type=method_call \
        --dest=org.mpris.MediaPlayer2.vlc \
        /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

bindsym XF86AudioStop exec dbus-send --type=method_call \
        --dest=org.mpris.MediaPlayer2.vlc \
        /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop

编辑:像 Antoine 提到的那样使用 playerctl 使这更简单:

bindsym XF86AudioNext exec playerctl next

bindsym XF86AudioPrev exec playerctl previous

bindsym XF86AudioPlay exec playerctl play

bindsym XF86AudioStop exec playerctl pause

答案 1 :(得分:1)

安装 playerctl 是否可行?

答案 2 :(得分:0)

我正在使用 playerctl 来控制任何播放设置

# Media player controls
bindsym XF86AudioPlay exec playerctl play-pause
#bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous

但是,如果两个应用程序同时使用音频,哪个应用程序会响应 playerctl 是未知的。

相关问题