随机流链接在jPlayer

Randomise stream links in jPlayer

本文关键字:jPlayer 链接 随机      更新时间:2023-09-26

我有一个mod的jPlayer连接到一个广播/冰播源。

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

例如我有两个链接:

  1. www.example.com: 8000/生活
  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"
        });
    });

回答你的问题,你可以这样做。

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

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

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

您应该考虑使用负载均衡

您可以使用服务器端语言或javascript获得X个随机url中的一个。然后将随机化的值传递给mp3:

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