尝试调试视频时警报不显示

时间:2013-01-28 13:14:49

标签: php javascript jquery video

如何调试自己的视频,因为此时没有出现任何警报。我使用IE9,播放器是jwplayer。我错过了什么或者我把javascript代码放在错误的地方进行调试,因为我试图将它放在jwplayer元素的下方和上方。我想在点击播放时看到警报还是想直接出现?

<div id="myElement">Loading the player...</div>

<?php echo 'This is the videoPath '.$dbVideoFile; ?>

<script type="text/javascript">

    jwplayer("myElement").setup({
        file: "<?php echo $dbVideoFile; ?>",
    });


var myvid = document.getElementById('myElement');
if (myvid.error) {
 switch (myvid.error.code) {
   case MEDIA_ERR_ABORTED:
      alert("You stopped the video.");
      break;
   case MEDIA_ERR_NETWORK:
      alert("Network error - please try again later.");
      break;
   case MEDIA_ERR_DECODE:
      alert("Video is broken..");
      break;
   case MEDIA_ERR_SRC_NOT_SUPPORTED:
      alert("Sorry, your browser can't play this video.");
      break;
 }
}
</script>

1 个答案:

答案 0 :(得分:0)

首先,您尝试从div元素而不是视频中获取错误,第二件事是您在加载代码时尝试立即执行此操作 - jwplayer可能在页面/文档加载时运行或至少有一些超时,在那个特定时刻还没有玩家。你应该将回调函数附加到onError jwplayer事件,然后尝试找出错误。此外,MediaError代码常量未在全局范围内定义,它们绑定到MediaError对象,因此您应该使用例如MediaError.MEDIA_ERR_ABORTED而不仅仅是MEDIA_ERR_ABORTED

jwplayer("myElement").setup({
    file: "<?php echo $dbVideoFile; ?>",
    events: {
        onError: function (message) {

            console.error('Video error: ' + message);

            // note that jwplayer is replacing your original div element with new one with same id
            // you can try to get video tag created by jwplayer:
            var videos = document.getElementById('myElement').getElementsByTagName();
            if (videos.length && videos[0].error) {
                switch (videos[0].error.code) {
                    case MediaError.MEDIA_ERR_ABORTED:
                       alert("You stopped the video.");
                       break;
                    case MediaError.MEDIA_ERR_NETWORK:
                       alert("Network error - please try again later.");
                       break;
                    case MediaError.MEDIA_ERR_DECODE:
                       alert("Video is broken..");
                       break;
                    case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED:
                       alert("Sorry, your browser can't play this video.");
                       break;
                    default:
                       alert('Unknown error');
                       break;
                }
            }
        }
    }
});

请参阅documentation for jwplayer events