我正在使用VLCJ库来播放位于某个web服务器上的媒体文件。我唯一的问题是如何获得正确的媒体长度。我尝试parseMedia,但应用程序挂起,如果我调用媒体播放器上的getLength,它返回0。Newerthless如果使用getPosition()和setPosition(float),它可以正常工作,但这只会告诉播放的媒体的百分比,而不是以秒为单位的实际长度。
是否有可能获得流媒体的正确长度,并使用进度来回移动?
谢谢。
发布于 2011-08-04 23:03:37
如果getLength()返回0,这是因为VLCJ不知道(或没有被告知)流有多长,所以它实际上不能给你一个准确的结果!
我能想到的唯一方法是,如果你有其他可以在服务器端工作的东西(可能是VLCJ的服务器实例),可以单独发送文件的长度?
发布于 2012-05-24 05:49:58
VLC在获取Theora/Vorbis数据的长度方面存在问题。这必须由vlc开发人员来修复,而不是vlcj。他们现在就是不费心……
发布于 2012-07-20 21:22:53
正如我在正常情况下看到的,当您尝试在play方法之后立即调用时,getLength()返回0。但是当你在另一个事件/方法中调用它时,它会返回正确的长度。为此,我尝试在play方法/线程返回正确的长度后休眠几毫秒。那么加载所有引用可能需要一些时间。现在我不知道这背后到底是怎么回事。但如上所述,流媒体我认为在完成流媒体后,正确的结果是可能的。
https://stackoverflow.com/questions/6855927
复制相似问题