我正在我的VLCJ应用程序中播放网络流。有时网络连接会丢失,我想知道我的VLCJ应用程序中的这些时刻。我尝试过Error事件,但它没有被触发。只有在没有网络连接且我尝试播放流时才会触发它。当网络消失时,视频的最后一帧被冻结,没有其他任何事情发生。如何检测因网络连接丢失而导致视频播放停止?
没有LibVLC API来检测这种情况,因此无法用vlcj执行此操作。
你可以想象捕获本机日志并解析它寻找那些错误,但坦率地说这是一个非常糟糕的方法。
你应该检查Media
状态。在带有延迟的循环中的单独线程或 - (我在c#中使用libVLCSharp) - 应该有类似Media
中的事件,State
已被更改。在c#中它是Media.EventManager.StateChanged
事件。