使用命令行从节奏盒中的特定时间开始播放歌曲

mus*_*sme 8 bash terminal rhythmbox

我想从我的终端开始一首歌,从第一分钟开始。即:该命令将从第 1 分钟开始运行music.mp3

我可以运行音乐

 rhythmbox music.mp3 
Run Code Online (Sandbox Code Playgroud)

但是它是从0开始的。如何从1分钟开始呢?

slm*_*slm 7

看看命令行工具rhythmbox-client。查看选项,有一个--seek开关应该可以做你想做的事。

rhytmbox-client --seek=+60
Run Code Online (Sandbox Code Playgroud)

报道称这应该有效但无效。可能是一个错误?

作为替代方法,您可以使用 dbus 直接自己触发命令:

# seek forward 60 sec
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek int64:60000000
sleep 2    

# skip to next track
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
sleep 2

# toggle play/pause state
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
sleep 2
Run Code Online (Sandbox Code Playgroud)

对于常规命令行使用来说有点过于冗长,所以只需将它们放入方便命名的脚本中,然后就可以了!该命令的列表可以在这里找到