我非常希望通过网络服务器与 rhythmbox 进行通信,这样我就可以通过智能手机远程更改正在播放的音乐。rhythmbox 是否有命令行界面可以执行以下(虚构)命令?
rhythmbox next
rhythmbox shuffle=false
rhythmbox change album='Dark Side of the Moon' artist='Pink Floyd' song='Time'
是否有套接字或消息传递接口?是否有替代程序可以完成这项工作,如 Banshee 或其他类型的服务器?
答案1
基本上,简短的回答是“是”,并且该答案的补充是“使用rhythmbox-client
终端中的命令来控制当前运行的 Rhythmbox,如果它尚未加载,则命令的第一个实例将调用它。”
例如:rhythmbox-client --play
将使当前 Rhythmbox 会话开始播放当前歌曲(或列表中的第一首歌曲)。如果 Rhythmbox 已关闭,则它将首先打开它以开始播放。
有关及其用法的更多信息,rhythmbox-client
请参阅rhythmbox-client 手册页。我在这里放了部分手册页仅供参考。
NAME
rhythmbox-client - controls a running instance of rhythmbox
SYNOPSIS
rhythmbox-client [option...][file...]
DESCRIPTION
rhythmbox-client is a tool for controlling an already running instance
of rhythmbox. It's useful for remote control scripting, adding
specific files to the library from the shell, or printing details of
what's playing. It also has an interactive mode, useful for controlling
playback remotely via ssh. Any files specified after the option
arguments will be added to the library. If the --enqueue option is
given, the files will also be added to the play queue.
OPTIONS
-?,--help
Show help options
--debug
Enable debug output
--no-start
Do not start a new instance of rhythmbox
--quit Quit rhythmbox
-i,--interactive
Start interactive mode --no-present Don't present an existing
rhythmbox window
--next Jump to next song
--previous
Jump to previous song
--play Resume playback if currently paused
--pause
Pause playback if currently playing
--play-pause
Toggle play/pause mode
--stop Stop playback if currently playing
--play-uri=URI
Play a specified URI, importing it if necessary
--enqueue
Add specified tracks already in the library to the play queue
--clear-queue
Empty the play queue before adding new tracks
--print-playing
Print the title and artist of the playing song
--print-playing-format=format
Print formatted details of the song (see FORMAT OPTIONS below).
--set-volume
Set the playback volume
--volume-up
Increase the playback volume
--volume-down
Decrease the playback volume
--print-volume
Print the current playback volume
--select-source=URI
Select the source corresponding to a URI (device or mount point)
--activate-source=URI
Select the source corresponding to a URI (device or mount point)
and start playing from it if not already playing.
--play-source=URI
Select the source corresponding to a URI (device or mount point)
and start playing from it.
FORMAT OPTIONS
%at album title
%aa album artist
%aA album artist (lowercase)
%as album artist sortname
%aS album artist sortname (lowercase)
%ay album year
%ag album genre
%aG album genre (lowercase)
%an album disc number
%aN album disc number, zero padded
%st stream title
%tn track number (i.e 8)
%tN track number, zero padded (i.e 08)
%tt track title
%ta track artist
%tA track artist (lowercase)
%ts track artist sortname
%tS track artist sortname (lowercase)
%td track duration
%te track elapsed time
Variables can be combined using quotes. For example "%tn %aa %tt", will
print the track number followed by the artist and the title of the
track.
AUTHOR
This manual page was written by Sven Arvidsson <[email protected]>, for the
Debian system (but may be used by others).
编辑
我对这个主题很感兴趣,所以我用以下命令进行了测试:
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek int64:60000000
来自此处发布的原始答案。这确实适用于查找当前正在播放的歌曲的任务(基于提问者的评论)。
祝你好运!