随机HTML5视频阵列只播放一个视频

时间:2013-08-03 13:20:17

标签: javascript html5 html5-video

我想随机化一个179视频循环,每次访问该网站时都会重新随机化,但不能同时播放多个视频。

{
    function getRandom(min, max) {
    if (min > max) {
        return -1;
    }
    if (min == max) {
        return min;
    }
    var r;
    do {
        r = Math.random();
    }
    while (r == 1.0);
    return min + parseInt(r * (max - min + 1));
}

function randomSrc(videoId) {
    console.log("randomSrc, " + videoId);
    var vid = $("#" + videoId);
    //var rndm = videoArray[getRandom(0, videoArray.length - 1)];
    var rndm = "001.webm";
    $(vid).attr("src", rndm).get(0).play();
    $(vid).get(0).addEventListener('ended', function () {
        randomSrc("v" + getRandom(1, 3));
    }, false);
}
var videoArray = ["001.webm", "002.webm", "003.webm", "004.webm", "005.webm", "006.webm", "007.webm", "008.webm", "009.webm", "010.webm", "011.webm", "012.webm", "013.webm", "014.webm", "015.webm", "016.webm", "017.webm", "018.webm", "019.webm", "020.webm", "021.webm", "022.webm", "023.webm", "024.webm", "025.webm", "026.webm", "027.webm", "028.webm", "029.webm", "030.webm", "031.webm", "032.webm", "033.webm", "034.webm", "035.webm", "036.webm", "037.webm", "038.webm", "039.webm", "040.webm", "041.webm", "042.webm", "043.webm", "044.webm", "045.webm", "046.webm", "047.webm", "048.webm", "049.webm", "050.webm", "051.webm", "052.webm", "053.webm", "054.webm", "055.webm", "056.webm", "057.webm", "058.webm", "059.webm", "060.webm", "061.webm", "062.webm", "063.webm", "064.webm", "065.webm", "066.webm", "067.webm", "068.webm", "069.webm", "070.webm", "071.webm", "072.webm", "073.webm", "074.webm", "075.webm", "076.webm", "077.webm", "078.webm", "079.webm", "080.webm", "081.webm", "082.webm", "083.webm", "084.webm", "085.webm", "086.webm", "087.webm", "088.webm", "089.webm", "090.webm", "091.webm", "092.webm", "093.webm", "094.webm", "095.webm", "096.webm", "097.webm", "098.webm", "099.webm", "100.webm", "101.webm", "102.webm", "103.webm", "104.webm", "105.webm", "106.webm", "107.webm", "108.webm", "109.webm", "110.webm", "111.webm", "112.webm", "113.webm", "114.webm", "115.webm", "116.webm", "117.webm", "118.webm", "119.webm", "120.webm", "121.webm", "122.webm", "123.webm", "124.webm", "125.webm", "126.webm", "127.webm", "128.webm", "129.webm", "130.webm", "131.webm", "132.webm", "133.webm", "134.webm", "135.webm", "136.webm", "137.webm", "138.webm", "139.webm", "140.webm", "141.webm", "142.webm", "143.webm", "144.webm", "145.webm", "146.webm", "147.webm", "148.webm", "149.webm", "150.webm", "151.webm", "152.webm", "153.webm", "154.webm", "155.webm", "156.webm", "157.webm", "158.webm", "159.webm", "160.webm", "161.webm", "162.webm", "163.webm", "164.webm", "165.webm", "166.webm", "167.webm", "168.webm", "169.webm", "170.webm", "171.webm", "172.webm", "173.webm", "174.webm", "175.webm", "176.webm", "177.webm", "178.webm", "179.webm"];
//var rndm = videoArray[getRandom(0, videoArray.length - 1)];
var rndm = "004.webm";
$("#v1").attr("src", rndm);
randomSrc("v1" + getRandom(1, 3));
this.removeEventListener("load", arguments.callee, false);
})      

</script>

1 个答案:

答案 0 :(得分:0)

咳咳?首先将#v1的源设置为“004.webm”,然后将id为#v11,#v12或#v13的元素的源代码硬编码为“001.webm”,绝对没有办法永远这样做像这样工作。

而是尝试这样的事情

var videoArray = [ ... ];
function getRandom(...) { ... };

function randomize(videoId) {
    var vid = $('#' + videoId);
    function setRandom() {
        var index = getRandom(0, videoArray.length - 1)
        vid.attr("src", videoArray[index]).get(0).play();
    };
    setRandom();
    vid.bind("ended", function() {
        setRandom();
    });
};
randomize('v1');