我使用 i3wm 作为我的窗口管理器,我想添加一个绑定来播放/暂停、下一个、上一个和停止 VLC。然而,与 MPV 不同的是,当 VLC 进程已经在外部运行时,VLC 没有内置的 CLI 控制。
问问题
903 次
3 回答
3
安装playerctl
工作,或者?
于 2020-12-21T19:50:58.433 回答
2
我正在使用 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
,则未知。
于 2020-12-28T18:38:49.957 回答
2
我发现这个可爱的 Reddit 评论比播放/暂停的需要更重要,通过反复试验,我发现了如何停止/上一个和下一个:
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
编辑:使用playerctl
像 Antoine 提到的那样使这更简单:
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioStop exec playerctl pause
于 2020-12-21T09:01:58.353 回答