我有一个内置的应用程序,该应用程序显示了页面上嵌入的视频。我已经设置了一个链接,当单击时,打开对话框窗口,使用JWPLAYER显示视频。第一个问题是,当您首先单击链接以打开对话框时,对话框窗口为空白,直到您实际单击它,然后视频显示并播放正常。第二个主要问题是,如果您关闭对话框窗口,然后单击链接重新打开它,则视频根本不会显示 - 即使您单击它,对话框窗口也完全空白。
我在JWPLAYER论坛和Stackoverflow上查看了类似的帖子,但找不到答案。Stackoverflow中有一个类似的问题,表明可以在JWplayer 6.10版中解决此问题,但我正在使用6.12.4956版本。如果有人可以看一下并给我一些建议,我会很感激。
这是我的代码:
<div id="video-player-container">
<div id="video-player">{() (: This div is filled by the player :)}</div>
<div id="video-player-modal">{() (: This div is filled by the player :)}</div>
<script type='text/javascript'>
var options =
{{
playlist:
[{{
sources: [
{{ file: '{$video-rtmp-href}' }},
{{ file: '{$video-hls-href}' }}
],
image: '{$image-href}'
}}],
width: '100%',
height: '90%',
aspectratio: '16:9',
primary: "html5",
stretching: "fill"
}};
jwplayer('video-player').setup(options);
function dialogOpen() {{
$("#video-player-modal").dialog({{
resizable: true,
width: '65%',
open: function(event, ui) {{
jwplayer("video-player-modal").setup(options);
}}
}})
}};
</script>
<div>
<a href="javascript:dialogOpen();">
<img src="/images/video-resize.png"/>
</a>
</div>
</div>
我似乎已经通过将.remove()方法添加到关闭事件的情况下解决了我的原始问题的第二个问题:
function dialogOpen() {{
$("#video-player-modal").dialog({{
open: function(event, ui) {{
jwplayer("video-player-modal").setup(options);
}},
autoOpen: true,
resizable: true,
close: function(event, ui) {{
jwplayer("video-player-modal").remove();
}}
}})
}};
但是,当您第一次单击链接打开对话框时,我仍然遇到问题,对话框窗口为空白,直到您实际单击它,然后视频显示并播放正常。有人对这个问题有任何想法吗?
您可能有兴趣使用此。
脚本:
https://github.com/emaxsaun/jwbox
演示:
http://www.pluginsbyethan.com/github/jwbox.html