如何进行随机随机播放?

时间:2015-04-22 08:08:00

标签: javascript

如何让视频播放非常随机? (现在它正在播放法国,荷兰和荷兰之后,法国,但我希望随机抽出这两个)

var playing ='FR';
function video_idle() {
    $('#mediaplayer').attr('src',playing + '.mp4' ).show(); 
    mediaplay_video= document.getElementById('mediaplayer');  
    mediaplay_video.play();  
    mediaplay_video.onended = function(e) {
      console.log('>>> Playing finished: ', e);
      if(playing ==='FR') {
        playing='NL';
        video_idle();
      } else {
        playing='FR';
        video_idle();
      }      
    };   
}

2 个答案:

答案 0 :(得分:2)

假设您只想在两种可能的语言之间进行随机播放,可以使用Math.round(Math.random()),它将为您提供0和1的值(在JavaScript中将测试为true或false):

var playing ='FR';
function video_idle() {
    $('#mediaplayer').attr('src',playing + '.mp4' ).show(); 
    mediaplay_video= document.getElementById('mediaplayer');  
    mediaplay_video.play();  
    mediaplay_video.onended = function(e) {
      console.log('>>> Playing finished: ', e);
      if(Math.round(Math.random())) {
        playing='NL';
        video_idle();
      } else {
        playing='FR';
        video_idle();
      }      
    };   
}

如果您有更多语言,或者您希望语言数量增加,您将需要考虑@Lars Ebert提出的解决方案。

答案 1 :(得分:1)

要选择随机视频,只需将所有可能的语言放入数组中,然后随机选择一种:

var languages = ['FR', 'NL'];
var playing = 'FR';
function video_idle() {
    $('#mediaplayer').attr('src',playing + '.mp4' ).show();
    mediaplay_video= document.getElementById('mediaplayer');
    mediaplay_video.play();
    mediaplay_video.onended = function(e) {
        console.log('>>> Playing finished: ', e);

        playing = languages[Math.floor(languages.length * Math.rand())];
        video_idle();
    };
}

languages.length * Math.rand()为你提供一个介于0和数组长度之间的随机浮点数,然后Math.floor()将它向下舍入,这样你就得到一个从0到length-1的随机整数,它们是你的数组键。