xin code random audio

  • hould be cross-browser, haven't tested (/lazy). Do tell me if you find bugs though
    
    var collection=[];// final collection of sounds to play
    var loadedIndex=0;// horrible way of forcing a load of audio sounds
    
    // remap audios to a buffered collection
    function init(audios) {
      for(var i=0;i<audios.length;i++) {
        var audio = new Audio(audios[i]);
        collection.push(audio);
        buffer(audio);
      }
    }
    
    // did I mention it's a horrible way to buffer?
    function buffer(audio) {
      if(audio.readyState==4)return loaded();
      setTimeout(function(){buffer(audio)},100);
    }
    
    // check if we're leady to dj this
    function loaded() {
      loadedIndex++;
      if(collection.length==loadedIndex)playLooped();
    }
    
    // play and loop after finished
    function playLooped() {
      var audio=Math.floor(Math.random() * (collection.length));
      audio=collection[audio];
      audio.play();
      setTimeout(playLooped,audio.duration*1000);
    }
    
    // the songs to be played!
    init([
      'http://static1.grsites.com/archive/sounds/background/background005.mp3',
      'http://static1.grsites.com/archive/sounds/background/background006.mp3',
      'http://static1.grsites.com/archive/sounds/background/background007.mp3'
    ]);

    Nguồn: https://stackoverflow.com/questions/14247998/playing-random-audio-in-html-javascript_

hould be cross-browser, haven't tested (/lazy). Do tell me if you find bugs though

var collection=[];// final collection of sounds to play
var loadedIndex=0;// horrible way of forcing a load of audio sounds

// remap audios to a buffered collection
function init(audios) {
  for(var i=0;i<audios.length;i++) {
    var audio = new Audio(audios[i]);
    collection.push(audio);
    buffer(audio);
  }
}

// did I mention it's a horrible way to buffer?
function buffer(audio) {
  if(audio.readyState==4)return loaded();
  setTimeout(function(){buffer(audio)},100);
}

// check if we're leady to dj this
function loaded() {
  loadedIndex++;
  if(collection.length==loadedIndex)playLooped();
}

// play and loop after finished
function playLooped() {
  var audio=Math.floor(Math.random() * (collection.length));
  audio=collection[audio];
  audio.play();
  setTimeout(playLooped,audio.duration*1000);
}

// the songs to be played!
init([
  'http://static1.grsites.com/archive/sounds/background/background005.mp3',
  'http://static1.grsites.com/archive/sounds/background/background006.mp3',
  'http://static1.grsites.com/archive/sounds/background/background007.mp3'
]);

Nguồn: https://stackoverflow.com/questions/14247998/playing-random-audio-in-html-javascript_

    Viết câu trả lời...