anchor.diff:      final currentAudio = _lastOpenedAssetsAudio;
       if (audio != null) {
         _respectSilentMode = respectSilentMode;
  +      String path;
  +      path = await onPlay(audio);
         try {
           Map<String, dynamic> params = {
             "id": this.id,
             "audioType": audio.audioType.description(),
  -          "path": audio.path,
  +          "path": path,
             "autoStart": autoStart,
             "respectSilentMode": respectSilentMode,
             "displayNotification": showNotification,
  
positive.code:     return playlistIndex;
    }
  
    int shuffle() {
      Random random = Random();
      playlistIndex = random.nextInt(playlist.audios.length - 1);
      return playlistIndex;
    }
  
    int moveTo(int index) {
  
negative.code:     _loop.value = value;
    }
  
    /// assign the shuffling state : true -> shuffling, false -> not shuffling
    set shuffle(value) {
      _shuffle.value = value;
    }
  