是否有可以使用 UDP 或 TCP 命令进行远程控制的简单音频播放器?

是否有可以使用 UDP 或 TCP 命令进行远程控制的简单音频播放器?

是否有可以使用 UDP 或 TCP 命令进行远程控制的简单音频播放器?

所需的控制非常简单:

  • 停止
  • 暂停
  • 提高音量
  • 音量减小
  • 下一曲目
  • 上一曲目

答案1

按照@Scott Chamberlain 的回答,我尝试了 VLC Media Player。我发现 RC 接口是一种通过 TCP 进行远程控制的简单方法。

(我写了一个博客文章并做了一个简短的视频演示YouTube

具体如下:

  1. 打开命令行(cmd)并 cd 到 VLC 安装位置。
  2. 键入以下命令: vlc --intf rc --rc-host 本地主机:50000 (端口不必是 50000)
  3. 打开插座测试TCP 客户端或任何其他 TCP 客户端。
  4. 连接到 127.0.0.1:50000
  5. 发送“帮助”以获取可用命令的列表。

命令如下:

+----[ Remote control commands ]
|
| add XYZ  . . . . . . . . . . . . add XYZ to playlist
| enqueue XYZ  . . . . . . . . . queue XYZ to playlist
| playlist . . . . .  show items currently in playlist
| play . . . . . . . . . . . . . . . . . . play stream
| stop . . . . . . . . . . . . . . . . . . stop stream
| next . . . . . . . . . . . . . .  next playlist item
| prev . . . . . . . . . . . .  previous playlist item
| goto . . . . . . . . . . . . . .  goto item at index
| repeat [on|off] . . . .  toggle playlist item repeat
| loop [on|off] . . . . . . . . . toggle playlist loop
| random [on|off] . . . . . . .  toggle random jumping
| clear . . . . . . . . . . . . . . clear the playlist
| status . . . . . . . . . . . current playlist status
| title [X]  . . . . . . set/get title in current item
| title_n  . . . . . . . .  next title in current item
| title_p  . . . . . .  previous title in current item
| chapter [X]  . . . . set/get chapter in current item
| chapter_n  . . . . . .  next chapter in current item
| chapter_p  . . . .  previous chapter in current item
|
| seek X . . . seek in seconds, for instance `seek 12'
| pause  . . . . . . . . . . . . . . . .  toggle pause
| fastforward  . . . . . . . .  .  set to maximum rate
| rewind  . . . . . . . . . . . .  set to minimum rate
| faster . . . . . . . . . .  faster playing of stream
| slower . . . . . . . . . .  slower playing of stream
| normal . . . . . . . . . .  normal playing of stream
| frame. . . . . . . . . .  play frame by frame
| f [on|off] . . . . . . . . . . . . toggle fullscreen
| info . . . . .  information about the current stream
| stats  . . . . . . . .  show statistical information
| get_time . . seconds elapsed since stream's beginning
| is_playing . . . .  1 if a stream plays, 0 otherwise
| get_title . . . . .  the title of the current stream
| get_length . . . .  the length of the current stream
|
| volume [X] . . . . . . . . . .  set/get audio volume
| volup [X]  . . . . . . .  raise audio volume X steps
| voldown [X]  . . . . . .  lower audio volume X steps
| adev [device]  . . . . . . . .  set/get audio device
| achan [X]. . . . . . . . . .  set/get audio channels
| atrack [X] . . . . . . . . . . . set/get audio track
| vtrack [X] . . . . . . . . . . . set/get video track
| vratio [X]  . . . . . . . set/get video aspect ratio
| vcrop [X]  . . . . . . . . . . .  set/get video crop
| vzoom [X]  . . . . . . . . . . .  set/get video zoom
| snapshot . . . . . . . . . . . . take video snapshot
| strack [X] . . . . . . . . .  set/get subtitle track
| key [hotkey name] . . . . . .  simulate hotkey press
| menu . . [on|off|up|down|left|right|select] use menu
|
| help . . . . . . . . . . . . . . . this help message
| logout . . . . . . .  exit (if in socket connection)
| quit . . . . . . . . . . . . . . . . . . .  quit vlc
|
+----[ end of help ] 

答案2

是的,VLC 可以通过 telnet 控制。这只是发送非常基本的 ASCII 编码数据的 TCP 数据包。编写自己的程序来控制它并不难。

在此处输入图片描述

在此处输入图片描述

我从未使用过它,所以我不知道通过 telnet 登录后要使用的实际命令。

相关内容