我想处理 JWPlayer 中的 youtube 错误,所以如果视频不存在或该国家/地区不可用,请在播放器上显示消息,或使用 javascript,我正在做这样的事情......
var options = {
height: 330,
},
flashplayer: '/player.swf',
width: 560,
events:{
onError:function(obj){
alert('ERROR'+obj);
}
} ,
debug: 'console'
};
jwplayer("player").setup(options);
jwplayer("player").play();
但它没有从 onError 事件中进入,即使视频甚至不存在......我可以在控制台中看到...... LOG(加载预览图像时出错:错误#2036)
在 youtube 限制国家的情况下,我什至无法在控制台中看到它。
无论如何,视频只是显示加载动画,这让用户相信它可以随时加载,这是不正确的。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">
<script type="text/javascript" src="#{facesContext.externalContext.requestContextPath}/assets/jwplayer.min.js"></script>
<script type="text/javascript" src="#{facesContext.externalContext.requestContextPath}/assets/swfobject.js"></script>
<div id="player"></div>
</body>
<script type="text/javascript">
//<![CDATA[
window.onload=createPlayer();
function createPlayer() {
var flashvars = {
file:"http://www.youtube.com/watch?v=pnEHsUWFuNM",
autostart:"true"
}
var params = {
allowfullscreen:"true",
allowscriptaccess:"always"
}
var attributes = {
id:"player1",
name:"player1"
}
swfobject.embedSWF("#{facesContext.externalContext.requestContextPath}/assets/player.swf", "player", "320", "196", "9.0.115", false, flashvars, params, attributes);
}
function loadPlayer() {
var options = {
height: 325,
flashplayer: '#{facesContext.externalContext.requestContextPath}/assets/player.swf',
width: 560,
events:{
onError:function(error){
alert('Error loading your link, please try another one');
}
} /* ,
debug: 'console'*/
};
options.file = 'http://www.youtube.com/watch?v=pnEHsUWFuNM';
options.events.onReady= function(){
jwplayer("player").play();
};
jwplayer("player").setup(options);
}
//]]>
</script>
loadPlayer 尝试使用 jwplayer.js 和直接来自 SWFObject 的 createPlayer ...该视频存在只是它不应该在德国显示,仍在尝试加载它。如果我设置任何其他不存在的 URL,让我们说“ http://www.youtube.com/watch?v=ABC ”仍然会继续尝试加载不存在的视频。