【问题标题】:JWplayer: Display image on error without file parameterJWplayer:在没有文件参数的情况下显示错误图像
【发布时间】:2015-08-13 14:02:29
【问题描述】:

我知道关于显示像 JWplayer: Display image when no video detected 这样的默认错误图像有几个问题,但就我而言,我没有要显示的默认文件。

我想做的是这样的:

jwplayer($scope.jwplayer_id).onError(function(){
  jwplayer($scope.jwplayer_id).load(image:'assets/img/signal_offline.png'});
});

我注意到的是,如果没有有效文件,但图像不起作用。

我试过这样:

  jwplayer($scope.jwplayer_id).load({file:'', image:'assets/img/signal_offline.png'});

只有在提供有效文件时才有效:

  jwplayer($scope.jwplayer_id).load({file:'assets/video/error.mp4', image:'assets/img/signal_offline.png'});

所以我是 JWPlayer 的新手,如果我只有 404 错误图像,我该怎么做?我需要 404 默认媒体视频吗?

【问题讨论】:

    标签: jwplayer


    【解决方案1】:

    如果没有提供文件,播放器将无法设置。

    在这种情况下,您可以做什么,而不是像在出现媒体错误时那样使用 onError(),而是在播放器设置失败时使用 onSetupError()。

    jwplayer().onSetupError(function() { /* DO SOMETHING */ });
    

    也许找到播放器设置失败的div,然后用JS添加图片?

    这里有一些您可以使用的示例代码:

    <!DOCTYPE html>
    <html>
    <head>
        <title>Template</title>
        <script src="http://p.jwpcdn.com/6/12/jwplayer.js" type="text/javascript"></script>
    </head>
    <body>
        <div id="player"></div>
        <script type="text/javascript" language="javascript">
        jwplayer("player").setup({
        });
        jwplayer().onSetupError(function() { 
            document.getElementById('player').innerHTML = '<img src="http://content.bitsontherun.com/thumbs/C4lp6Dtd-640.jpg" />'
        });
        </script>
    </body>
    </html>
    

    似乎在我的测试中有效。

    【讨论】:

    • 这是一个不错的解决方案,尽管我会尝试通过提供一些错误视频来避免操纵 DOM。我只是想知道是否可以仅对一张图像使用加载方法。还是谢谢!
    • 是的,如果你不想进入 JS hacks,你需要加载一个错误视频,因为播放器需要一个文件设置才能正确加载。 Np!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多