我正在使用VLCJ库来播放位于某个Web服务器上的媒体文件。 我唯一的问题是如何获得正确的媒体长度。我尝试解析媒体,但应用程序挂起,如果我在媒体播放器上调用getLength,则返回0。 如果使用getPosition()和setPosition(float),它可以正常工作,但这只能说明播放的媒体百分比不是以秒为单位的实际长度。
是否可以获得正确长度的流媒体并使用进度前后移动?
谢谢。
答案 0 :(得分:3)
如果getLength()
返回0,那是因为VLCJ不知道(或者没有被告知)该流有多长,所以它实际上无法给出准确的结果!
我能想到的唯一方法是,你是否有其他可以在服务器端工作的东西(也许是VLCJ的服务器实例),它可以单独发送文件的长度?
答案 1 :(得分:2)
VLC在获取Theora / Vorbis数据的长度方面存在问题。 这必须由vlc开发人员修复,而不是vlcj。 他们现在不打扰......
答案 2 :(得分:1)
答案 3 :(得分:1)
您可以使用以下简单代码:
int DurationInSeconds;
parseMedia();
DurationInSeconds = (int)(player.getMediaMeta().getLength()/1000);
如果您在播放媒体之前需要时间