stop_music(fadeDuration) {
    if (this._music != null) {
      if (fadeDuration == null) { fadeDuration = CONFIG.MUSIC_CROSSFADE_DURATION; }
      const audio = this._music;
      this._music_stopping.push(audio);
      this._music = null;
      return this._stop(audio, fadeDuration).then(() => { this._music_stopping = _.without(this._music_stopping, audio); });
    }
    return Promise.resolve();
  }
Stops the currently playing music and returns a promise that resolves when the music is faded in/out.
@param [fadeDuration=0]
@returns {Promise}