Java 从VLC命令行获取当前播放信息

Java 从VLC命令行获取当前播放信息,java,command-line,vlc,Java,Command Line,Vlc,我想知道是否可以从命令行检索VLC的当前播放信息(文件名、经过的时间等) 然后我想使用Java在某个地方使用这些信息 一种可能是使用JNA,但不确定如何工作 我到处搜索,但它只告诉我如何从命令行启动文件。显然,VLC附带了一个小型Http服务器,可用于向播放器发送命令。您可以通过发出%vlc-I http(-http src/directory/--http主机:端口)来启动服务器,其中--http src和--http主机是可选的。仅使用vlc-I httpvlc在我的系统上侦听127.0.0

我想知道是否可以从命令行检索VLC的当前播放信息(文件名、经过的时间等)

然后我想使用Java在某个地方使用这些信息

一种可能是使用JNA,但不确定如何工作


我到处搜索,但它只告诉我如何从命令行启动文件。

显然,VLC附带了一个小型Http服务器,可用于向播放器发送命令。您可以通过发出
%vlc-I http(-http src/directory/--http主机:端口)
来启动服务器,其中
--http src
--http主机
是可选的。仅使用
vlc-I http
vlc在我的系统上侦听
127.0.0.1:8080

然后,您可以通过向
http://127.0.0.1:8080/requests/status.xml
,它返回如下所示的xml文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
...
<time>75</time>
<volume>512</volume>
<length>326</length>
<rate>1</rate>
...
<state>playing</state>
<position>0.23139409720898</position>
<information>
    <category name="meta">
        <info name="artwork_url">file:///path/to/art/work</info>
        <info name="genre">Genre</info>
        <info name="album">Album Name</info>
        <info name="publisher">Publisher</info>
        <info name="title">Track Title</info>
        <info name="track_number">1</info>
        <info name="filename">File Name</info>
        <info name="artist">Artist Name</info>
    </category>
    <category name="Stream 0">
        <info name="Bitrate">128 kb/s</info>
        <info name="Type">Audio</info>
        <info name="Channels">Stereo</info>
        <info name="Sample rate">44100 Hz</info>
        <info name="Codec">MPEG Audio layer 1/2/3 (mpga)</info>
    </category>
</information>
<stats>
...
</stats>
</root>

...
75
512
326
1.
...
玩
0.23139409720898
file:///path/to/art/work
体裁
唱片集名称
出版商
曲目标题
1.
文件名
艺人名称
128 kb/s
音频
立体声
44100赫兹
MPEG音频层1/2/3(mpga)
...
从音频文件中的标签中填写曲目信息

您甚至可以使用此方法向VLC发送命令以控制播放。以下是完整的Http API参考:


您可以使用一个可用于Java的Http客户机与Http服务器交互,例如,您可以使用类似的方式解析从请求返回的xml,尽管我确信存在这两种方法的替代方法。

显然,VLC附带了一个小型Http服务器,可用于向播放器发送命令。您可以通过发出
%vlc-I http(-http src/directory/--http主机:端口)
来启动服务器,其中
--http src
--http主机
是可选的。仅使用
vlc-I http
vlc在我的系统上侦听
127.0.0.1:8080

然后,您可以通过向
http://127.0.0.1:8080/requests/status.xml
,它返回如下所示的xml文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
...
<time>75</time>
<volume>512</volume>
<length>326</length>
<rate>1</rate>
...
<state>playing</state>
<position>0.23139409720898</position>
<information>
    <category name="meta">
        <info name="artwork_url">file:///path/to/art/work</info>
        <info name="genre">Genre</info>
        <info name="album">Album Name</info>
        <info name="publisher">Publisher</info>
        <info name="title">Track Title</info>
        <info name="track_number">1</info>
        <info name="filename">File Name</info>
        <info name="artist">Artist Name</info>
    </category>
    <category name="Stream 0">
        <info name="Bitrate">128 kb/s</info>
        <info name="Type">Audio</info>
        <info name="Channels">Stereo</info>
        <info name="Sample rate">44100 Hz</info>
        <info name="Codec">MPEG Audio layer 1/2/3 (mpga)</info>
    </category>
</information>
<stats>
...
</stats>
</root>

...
75
512
326
1.
...
玩
0.23139409720898
file:///path/to/art/work
体裁
唱片集名称
出版商
曲目标题
1.
文件名
艺人名称
128 kb/s
音频
立体声
44100赫兹
MPEG音频层1/2/3(mpga)
...
从音频文件中的标签中填写曲目信息

您甚至可以使用此方法向VLC发送命令以控制播放。以下是完整的Http API参考:

您可以使用一个可用于Java的Http客户机与Http服务器进行交互,例如,您可以使用类似的方式解析从请求返回的xml,尽管我确信这两种方法都有替代方法