我有一个jw播放器,链接点击会更改视频。我还有其他类型的玩家,所以我需要隐藏jw播放器并切换到youtube播放器。问题是,当视频播放器可见时,jw播放器在第二次点击时加载视频。任何解决方案,以便玩家在第一次点击时加载视频。
<div id="jw_container">
<script type="text/javascript" src="https://content.jwplatform.com/players/hsdfQtN-ieOuTCiv.js"></script>
</div>
<li><a href="javascript:playTrailer('Bmodfg5AS')" id="vid_link3">video</a></li>
function playTrailer(key) {
$('#jw_container').show(); // show video player
jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml");
jwplayer().play({
autostart: false
});
}
如您所见,首先点击视频可见,然后再加载特定视频。有一个解决方案,而不是使用show();使用.css('visibility','visible')但会导致一些css问题。
实际代码:
var loaded = false;
function playTrailer(key) {
$('#yt_container').hide(); // hide youtube
$('#jw_container').show("slow", function() {
jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml");
});
loaded = true;
}
jwplayer().onPlaylistItem(function() {
if(loaded) {
jwplayer().play({autostart:false});
}
})
答案 0 :(得分:3)
我认为您需要的是设置
修改强>
$('#jw_container').show(0,'', function() {
// Animation complete.
jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml");
jwplayer().play(true);
});
假设可能是播放列表未加载,因此播放方法正在执行任何操作。所以这可能也有效:
function playTrailer(key) {
$('#jw_container').show(); // show video player
jwplayer().load("https://content.bitsontherun.com/jw6/" + key + ".xml");
jwplayer().onPlaylist( function(event){
jwplayer().play(true);
});
}