[SOLVED] Load audio file saved in cache

Edit: Solution was to add “file://” before the path when using WWW locally like this.

Hi,

My goal is to load a downloaded audio file saved in the cache (see code snippet), but I can’t get it to work. I have tried using www.audioClip locally (see code) but without success. Any help is much appreciated!

   /*** In my DownloadScript: ***/

    //Successfully downloaded the audio and saved it in the cache:
    File.WriteAllBytes(Application.persistentDataPath + "/audioFilename", www.bytes);
    


    /*** In my LoadingScript: ***/
    
    LoadAudioFile()
    {
    	StartCoroutine(LoadAudioWithWWW(_downloadedAudioFile.FilePath));
    }
    
    IEnumerator LoadAudioWithWWW(string audioFilePath)
    {
    	using (WWW www = new WWW(audioFilePath)) //SOLUTION: "file://" + audioFilePath
    	{
    	    while (!www.isDone)
                    yield return null;
           	
            if (www.error != null)
                    Debug.Log ("Error occured!"); //<--- THIS HAPPENS when using WWW with local path
    		
    		AudioClip audioClip = www.audioClip;
    	}
    }

Solution was to add “file://” before the path when using WWW locally like this. So on line 17 in my code snippet above, the correct line would be:

 using (WWW www = new WWW("file://" + audioFilePath))

(Big thanks to aihodge from the Unity3D forum!)