code: function(arraybuffer, self) {
      // Fire a load error if something broke.
      var error = function() {
        self._emit('loaderror', null, 'Decoding audio data failed.');
      };
  
      // Load the sound on success.
      var success = function(buffer) {
        if (buffer && self._sounds.length > 0) {
          cache[self._src] = buffer;
          loadSound(self, buffer);
        } else {
          error();
        }
      };
  
      // Decode the buffer into an audio source.
      if (typeof Promise !== 'undefined' && Howler.ctx.decodeAudioData.length === 1) {
        Howler.ctx.decodeAudioData(arraybuffer).then(success).catch(error);
      } else {
        Howler.ctx.decodeAudioData(arraybuffer, success, error);
      }
    }
docs: Decode audio data from an array buffer.
  @param  {ArrayBuffer} arraybuffer The audio data.
  @param  {Howl}        self