【问题标题】:Randomise stream links in jPlayer在 jPlayer 中随机化流链接
【发布时间】:2012-12-20 20:35:42
【问题描述】:

我有一个经过改装的 jPlayer,它连接到一个直播/冰播源。

我想让 jPlayer 在打开页面时随机连接 2 个或多个 url。

例如,如果我有 2 个链接:

  1. www.example.com:8000/live
  2. www.example.com:8000/live2

然后我需要 jPlayer 在打开页面时随机选择其中一个。 目的是防止一台服务器过载。

我应该如何在 jQuery 代码中处理它?

jQuery:

$("#jquery_jplayer_1").jPlayer({
        ready: function(event) {
            $(this).jPlayer("setMedia", {
                mp3: "http://www.example.com:8000/live"
            }).jPlayer("play");
        },
        swfPath: "js/",
        wmode: "window",
        solution: "flash,html",
        supplied: "mp3",
        preload: "none",
        volume:0.75,
        cssSelectorAncestor: "",
        cssSelector: {
                play: "#play",
                pause: "#pause"
        }
    });

    $("#jquery_jplayer_1").bind($.jPlayer.event.pause, function(event) {
        $(this).jPlayer("clearMedia");
        $(this).jPlayer("setMedia", {
                mp3: "http://www.example.com:8000/live"
        });
    });

【问题讨论】:

  • 为什么不让服务器来决定呢?一个使用基本负载平衡逻辑重定向的网址。

标签: javascript jquery jplayer


【解决方案1】:

回答您的问题,您可以执行以下操作。

var servers = ["www.example.com:8000/live", "www.example.com:8000/live2"];
var server = servers[Math.floor(Math.random() * servers.length)];

$(this).jPlayer("setMedia", {
  mp3: server
});

尽管这不是解决您的实际问题的最佳方法:

目的是防止一台服务器过载。

您应该考虑使用load balancing

【讨论】:

  • 我得到了意外的标识符并且没有看到问题.. var servers = ["http://**.**.**:443/;stream/1", "http:// **.**.**.**:8000/live"]; var server = servers[Math.floor(Math.random() * servers.length)];准备好:函数(事件){ $(this).jPlayer("setMedia", { mp3: server }).jPlayer("play");
  • @TonalDev,那个代码不能去那里。例如,将其放在代码的开头
  • 是的,我刚刚注意到我把它放在函数之外..如果我把它放在里面它会随机化..谢谢!
【解决方案2】:

您可以使用服务器端语言或 javascript 获取 X 个随机 URL 之一。然后只需将随机值传递给mp3:

var randomUrl = getRandomUrl();
$("#jquery_jplayer_1").bind(...) {
       mp3: randomUrl;
}

【讨论】:

    猜你喜欢
    • 2013-01-07
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多