JW Player 7只在标签容器中加载HLS文件一次,FLV一切顺利

时间:2016-01-28 12:15:35

标签: jwplayer jwplayer7

我在一个页面上有多个JwPlayer实例,使用选项卡式div进行切换。 其中一个选项卡具有分配给JwPlayer的HLS文件,其他选项具有分配的FLV文件。 当第一次查看HLS选项卡并播放它时,它就像一个魅力,但当我切换标签(显示:无<> display:block)时,它返回无法播放源错误

这种完全相同的行为不会导致FLV文件出错,来回切换标签和查看FLV不会出现问题。

  <script type="text/javascript">
    $(document).ready(function() {
      var player_container0 = jwplayer('container0');
      player_container0.setup({
        file: 'http://samplescdn.origin.mediaservices.windows.net/e0e820ec-f6a2-4ea2-afe3-1eed4e06ab2c/AzureMediaServices_Overview.ism/manifest(format=m3u8-aapl-v3)',
        type: 'hls',
        width: '100%',
        aspectratio: '16:9'
      });

      var player_container1 = jwplayer('container1');
      player_container1.setup({
        file: 'http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv',
        type: 'flv',
        width: '100%',
        aspectratio: '16:9'
      });
    });
  </script>

我有Plunker设置来审核此行为。

提前致谢!

1 个答案:

答案 0 :(得分:0)

http://github.com/jwplayer/jwplayer

中提出问题

当您在播放器上设置display:none并且使用Flash渲染视频时(在这种情况下,它适用于HLS和FLV),Flash应用程序将从内存中卸载,然后再次重新加载后再次显示在内存中DOM。您可以通过设置visible:hidden并使用api暂停和恢复播放来解决此问题。我想你会发现这比每次从内存加载和卸载swf要快得多。让我知道。

如果您在gihtub中提出问题,我们可以看到Flash中的flv播放器何时能够恢复,而hls播放器不能恢复。代码非常不同,并不是为了处理从DOM中删除插件或将显示设置为无而导致的重置类型。