0

我有一个经过改装的 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"
        });
    });
4

2 回答 2

2

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

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
});

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

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

您应该考虑使用负载平衡

于 2012-12-20T20:46:28.610 回答
1

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

var randomUrl = getRandomUrl();
$("#jquery_jplayer_1").bind(...) {
       mp3: randomUrl;
}
于 2012-12-20T20:38:23.663 回答