Jwplayer 闪烁 "Error loading player: Could not load player configuration"

Jwplayer Flashes "Error loading player: Could not load player configuration"

Jwplayer 在正确加载视频之前闪烁 "Error loading player: Could not load player configuration" 一秒钟。我只是觉得这看起来不专业,我花了很多时间寻找如何抑制错误或隐藏它直到视频加载完成。

在像 Chrome 或 Safari 这样的浏览器中,您通常甚至看不到错误,因为它太快了,但在 Firefox 中,您每次都会看到错误。

这是我正在谈论的内容的现场演示:

https://jj.coursesaver.com/video/watch/2012-11-atomic-structure-atomic-mass-periodic-table/g1-atomic-and-nuclear-structure-1

有什么建议可以让用户永远不会看到这个错误吗?

谢谢!

您可以使用 JW Player 的 onSetup 和 onError 选项为这些场景提供图像。像这样:

<div id="playerWrapper">
    <div id="player"></div>
</div>
<script>
    jwplayer('player').setup({
       file:'file.mp4',
       image:'placeholderImage.jpg',
       abouttext: 'Welcome',
       aboutlink: 'http://example.com',
       width: '100%',
       bufferlength: 3,
       primary: 'html5',
       stretching: 'uniform',
       aspectratio: '16:9',
       autostart: 'true',
       events: { 
         onError: function () {
            $('playerWrapper').html('<img src="error.jpg" style="width:100%;height:100%;" />');
         },
         onSetupError: function () {
            $('playerWrapper').html('<img src="error.jpg" style="width:100%;height:100%;" />');
         }
       },
       ga: {}
    )};
</script>

发生此错误是因为您将 JW flash 对象直接添加到 HTML 页面的方式 - 并且没有正确的配置参数。这不是嵌入JW播放器的正确方法:

<div id="videoplayer_wrapper" class="embed-responsive embed-responsive-16by9">
    <object type="application/x-shockwave-flash" data="/jw6.12/jwplayer.flash.swf" bgcolor="#000000" id="video-object" name="video-object" class="embed-responsive-item jwswf swfPrev-beforeswfanchor0 swfNext-afterswfanchor0" tabindex="0">
        <param name="allowfullscreen" value="true">
        <param name="allowscriptaccess" value="always">
        <param name="seamlesstabbing" value="true">
        <param name="wmode" value="opaque">
    </object>
</div>

尝试用以下内容替换现有内容:

<div id="videoplayer_wrapper" class="embed-responsive embed-responsive-16by9">
    <div id="video-object"></div>
</div>