如何检测 vlcj 中丢失的连接

how to detect connection lost in vlcj

我正在我的 VLCJ 应用程序中播放网络流。有时网络连接会丢失,我想在我的 VLCJ 应用程序中知道这一刻。我尝试了错误事件,但它没有被触发。它仅在没有网络连接且我尝试播放流时触发。当网络消失时,最后一帧视频被冻结,没有其他事情发生。如何检测因网络连接丢失而停止播放视频?

没有 LibVLC API 来检测这种情况,因此也无法使用 vlcj 来检测。

您可以想象捕获本机日志并解析它以查找这些错误,但坦率地说,这是一种非常糟糕的方法。

您应该检查 Media 状态。在带有延迟的循环中的单独线程中或 - (我在 c# 中使用 libVLCSharp) - 应该有类似 Media 中的事件,State 已被更改。在 C# 中它是 Media.EventManager.StateChanged 事件。