我在一个页面上有多个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设置来审核此行为。
提前致谢!
答案 0 :(得分:0)
在http://github.com/jwplayer/jwplayer
中提出问题当您在播放器上设置display:none并且使用Flash渲染视频时(在这种情况下,它适用于HLS和FLV),Flash应用程序将从内存中卸载,然后再次重新加载后再次显示在内存中DOM。您可以通过设置visible:hidden并使用api暂停和恢复播放来解决此问题。我想你会发现这比每次从内存加载和卸载swf要快得多。让我知道。
如果您在gihtub中提出问题,我们可以看到Flash中的flv播放器何时能够恢复,而hls播放器不能恢复。代码非常不同,并不是为了处理从DOM中删除插件或将显示设置为无而导致的重置类型。