Skip to content Skip to sidebar Skip to footer

Dynamically Playing Multiple Sounds Using Javascript

var actions = function(){return {whichPattern:'pattern1'}}; var audio = new Audio(); var _play = function(){ var l = pattern[actions().whichPattern].instrument.

Solution 1:

pattern["pattern1"] is an array of strings and does not have any 'instrument' property maybe you were trying to use pattern_config["pattern1"]

 var actions = function () {
     return {
         whichPattern: "pattern1"
     }
 };
 var audio = new Audio();
 var _play = function () {
     var l = pattern_config[actions().whichPattern].instrument.length,
         times_played = 0;
     var p = setInterval(function () {

         var x = pattern_config[actions().whichPattern][times_played];
         for (var i = 0; i < x.length; i++) {
             var toBePlayed = pattern_config[actions().whichPattern][times_played][i],
                 url = "All Drums sounds/" + toBePlayed + ".wav";
             audio.src = url;
             audio.play();
             console.log(audio);
             times_played++;
         }

     }, pattern_config[actions().whichPattern].delay);
     if (times_played === l) {
         clearInterval(p);

     };

     var pp = document.getElementById("play_pause");
     pp.style.background = "url('graphics/pause.png') no-repeat";
     pp.style.backgroundSize = "30px 28px"
     audio.source = 'All Drums sounds/' + pattern['pattern1'][1][0] + '.wav';
     audio.play();

 };

 var pattern_config = {
     pattern1: {
         WP_slotsCounter: 0,
         instrument: ["Kick_02", "F_T_03", "Rude_cymbal_02"],
         delay: 10
     },
 };

 var pattern = {
     pattern1: [['asas', 'sf', 'asd'], ['svv','dgh','sdgh']],
 }

Post a Comment for "Dynamically Playing Multiple Sounds Using Javascript"