javascript - 将 JWPlayer 5 脚本转换为 JWPlayer 6 脚本

标签 javascript jwplayer jwplayer6

有人可以帮我将这个 JWPlayer 5 代码转换为 JWPlayer 6 代码吗? 该脚本本质上为桌面创建 RTMP 流,为非闪存设备创建 HLS 流。
如果流媒体源不可用,将播放 .mp4 文件。 mp4 文件结束后,脚本会重新加载页面以检查流是否返回为可用。如果得到否定响应,脚本将重复之前的步骤。

<script type="text/javascript">
    var timeout = null;
    jwplayer(document.getElementById("JWPLAYER_1080")).setup({
        'flashplayer': 'http://xxxxxx.embed.scaleengine.net/latest/jwplayer.swf',
        'autostart': 'true',
        'provider': 'rtmp',
        'streamer': 'rtmp://xxxxxx.videocdn.scaleengine.net/xxxxxx-live/play/',
        'file': 'xxxxxx.stream',
        'modes': [
        {
            'type': 'flash',
            'src': 'http://xxxxxx.embed.scaleengine.net/latest/jwplayer.swf'
        },
        {
            'type': 'html5',
            'config': {
                'file': 'http://xxxxxx.videocdn.scaleengine.net/xxxxxxxxx/play/xxxxxxxx.stream/playlist.m3u8',
                'provider': 'video'
            }
        }],
        'bufferlength': '5',
        'width': '720',
        'height': '405',
        events:{
            onBuffer: function(){
                if(timeout == null) {
                    timeout = setTimeout(function() {
        var time = new Date();
        var currentTimeMillis = time.getTime();
        jwplayer().load({'file':"http://xxxxxx.tv/style/video/streaming.mp4?" + currentTimeMillis});
                    },5000);
                }
            },
            onPlay: function() {
                clearTimeout(timeout);
                timeout = null;
            },
            onComplete: function() {
                window.location="http://www.xxxxxx.net/streaming.php?quality=1080";
            },
            onIdle: function() {
                jwplayer().play();
            },
        },
    });
</script>

最佳答案

给你,我无法真正测试它,因为一切都是占位符。我确实把我自己的一些文件放在那里进行测试,它似乎有效。

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<body>
    <script src="http://p.jwpcdn.com/6/10/jwplayer.js" type="text/javascript"></script>
    <div id="JWPLAYER_1080"></div>
    <script type="text/javascript">
        var timeout = null;
        jwplayer(document.getElementById("JWPLAYER_1080")).setup({
            'autostart': 'true',
            playlist: [{
            sources: [{
            'file': 'rtmp://xxxxxx.videocdn.scaleengine.net/xxxxxx-live/play/xxxxxx.stream'
            },{
            'file': 'http://xxxxxx.videocdn.scaleengine.net/xxxxxxxxx/play/xxxxxxxx.stream/playlist.m3u8'
            }]
            }],
            rtmp: {
            'bufferlength': '5'
            },
            'width': '720',
            'height': '405',
            events:{
                onBuffer: function(){
                    if(timeout == null) {
                        timeout = setTimeout(function() {
            var time = new Date();
            var currentTimeMillis = time.getTime();
            jwplayer().load({'file':"http://xxxxxx.tv/style/video/streaming.mp4?" + currentTimeMillis});
                        },5000);
                    }
                },
                onPlay: function() {
                    clearTimeout(timeout);
                    timeout = null;
                },
                onComplete: function() {
                    window.location="http://www.xxxxxx.net/streaming.php?quality=1080";
                },
                onIdle: function() {
                    jwplayer().play();
                },
            }
        });
    </script>
</body>
</html>

关于javascript - 将 JWPlayer 5 脚本转换为 JWPlayer 6 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26765765/

相关文章:

javascript - 用于 WordPress 的 JW Player 6 插件编辑 jwplayer.js 白色背景

javascript - 如何定位 -moz-opacity 属性

html - JW Player 仅 HTML5 模式

jquery - 如何正确终止一个函数

javascript - 如何隐藏JWPlayer 6 播放按钮?

javascript - JWPlayer : issue in stop and play using javascript

javascript - CodeMirror 2 -(只读和可编辑代码)

javascript - GTM dataLayer .push 创建一个新对象,而不是将其添加到现有 dataLayer

javascript - 为什么我的属性失去定义? (JS)

javascript - JwPlayer - 播放前显示视频截图