Java 获取VLC远程控制接口播放器状态
我目前正在从事一个java项目,该项目使用vlc套接字远程控制接口来播放视听内容(例如,Java 获取VLC远程控制接口播放器状态,java,controls,vlc,Java,Controls,Vlc,我目前正在从事一个java项目,该项目使用vlc套接字远程控制接口来播放视听内容(例如,vlc-I rc--rc host=localhost:[portnumber])。该接口会导致一些似乎很难处理的特殊情况: 根据vlc遥控器帮助,pause命令是一个切换功能,因此您可以 必须跟踪玩家的当前状态 只有当前视频未暂停时,add命令才会启动视频 无论是否暂停,正在播放命令始终输出1,并且 status命令没有说明是否暂停 客户端的一个限制是视频需要在最后一帧暂停。幸运的是,有一个参数可以处理
vlc-I rc--rc host=localhost:[portnumber]
)。该接口会导致一些似乎很难处理的特殊情况:
- 根据vlc遥控器帮助,pause命令是一个切换功能,因此您可以 必须跟踪玩家的当前状态
- 只有当前视频未暂停时,
命令才会启动视频add
- 无论是否暂停,
命令始终输出1,并且正在播放
命令没有说明是否暂停status
——play and pause
问题如下。如果vlc到达最后一帧并自行暂停视频,我怎么知道?现在,我使用get_time
,希望在倒计时等于0的情况下简单地考虑暂停的视频。然而,vlc会在0:01暂停视频本身,迫使我也将0:01视为结束值。由于0:01检查将其视为暂停,而不是暂停,因此当用户在最后一帧前还剩下一秒钟时启动另一个视频时,会出现小故障。以下是所发生情况的摘要:
- 0:20(未暂停)+播放按钮: 发送(“添加[文件路径]”) 好
- 0:00(暂停)+播放按钮: 发送(“暂停”); 发送(“添加[文件路径]”) 好
- 0:01(暂停)+播放按钮: 发送(“暂停”); 发送(“添加[文件路径]”) 好
- 0:01(未暂停)+播放按钮: 发送(“暂停”); 发送(“添加[文件路径]”) 意外行为:它不会播放,因为它已暂停,我们对此一无所知
谢谢。倒计时计时器的粒度是多少?您是否可以在间隔等于支持的最小时间单位的情况下对剩余时间进行两次采样?例如,如果是秒,则检查时间,等待一秒,然后再次检查。如果时间改变了,它仍在播放,如果没有,它将暂停。唯一的缺点是它会给应用程序的响应带来1秒的延迟。倒计时的粒度是多少?您是否可以在间隔等于支持的最小时间单位的情况下对剩余时间进行两次采样?例如,如果是秒,则检查时间,等待一秒,然后再次检查。如果时间改变了,它仍在播放,如果没有,它将暂停。唯一的缺点是,它会使应用程序的响应延迟一秒钟。为什么不阻止播放器到达00:01?例如,如果倒计时=00:02,则开始下一步 为什么不阻止玩家到达00:01?例如,如果倒计时=00:02,则开始下一步最后,我使用了一些类似的东西,没有更多的细节,我只在倒数计时器显示了0:01的情况下检查这个情况,如果在1秒之后显示0:00,我可以考虑暂停。如果它与00:00不同,则意味着另一个视频会在它之后自动启动;这样,如果有一个播放列表自己加载下一首曲目,它将能够在1秒钟的睡眠后做出正确的反应;就像你说的,唯一的缺点是延迟一秒钟,但是。。他们只需要在更好的时刻点击!!:最后,我使用了一些类似的东西,没有更多的细节,我只在倒数计时器显示0:01的情况下检查这个情况,如果在1秒之后显示0:00,我可以考虑暂停。如果它与00:00不同,则意味着另一个视频会在它之后自动启动;这样,如果有一个播放列表自己加载下一首曲目,它将能够在1秒钟的睡眠后做出正确的反应;就像你说的,唯一的缺点是延迟一秒钟,但是。。他们只需要在更好的时刻点击!!:p这可以避免问题,但视频剪辑2秒是不可接受的,特别是如果视频的关键部分在最后2秒,这可以避免问题,但视频剪辑2秒是不可接受的,特别是如果视频的关键部分在最后2秒