title: Loading MP3 files at runtime in unity
body: <p>I'm trying to load an mp3 file at runtime using the <a href="http://docs.unity3d.com/ScriptReference/WWW.html" rel="nofollow"><code>WWW</code></a> class that is provided in Unity. </p>
  
  <p>I don't get any errors, but I'm unable to play the music after the song has been processed. I have looked everywhere and cannot find anything to help me.</p>
  
  <p>Here is the code I am currently using:</p>
  
  <pre><code>public class OpenFile : MonoBehaviour {
      string path;
      string extension;
      public GameObject musicAnalysis;
      string songName;
      float length;
      AudioSource song;
  
      // Use this for initialization
      void Start () {
          song =  musicAnalysis.GetComponent&lt;AudioSource&gt;();
      }
  
      // Update is called once per frame
      void Update () {
          if(song.isPlaying != true){
              song.Play();
          }
      }
  
      public void FileSelect(){
          //Open windows Exploer 
          path = EditorUtility.OpenFilePanel("Select a Song","","");
  
          print(path);
  
          //Take the end of the the path and sasve it to another string
          extension = path.Substring(path.IndexOf('.') + 1);
  
          print (extension);
          //Check if the user has select the correct file
          if(extension == "mp3" || extension == "wav" || extension == "ogg"){
              //if correct file process file
              print ("You have selected the correct file type congrats");
  
              LoadSong();
              print ("Song Name: " + songName);
              print ("Song Length: " + length);
          }
          //if the user selects the wrong file type
          else{
              //pop up box that tells the user that they have selected the wrong file
              EditorUtility.DisplayDialog("Error","Incorrect File Type Please select another","Ok");
              ////Open windows Exploer 
              path = EditorUtility.OpenFilePanel("Select a Song","","");
          }
      }
  
      void LoadSong(){
          WWW www = new WWW("file://" + path);
          song.clip = www.audioClip;
          songName =  www.audioClip.name;
          length = www.audioClip.length;
  
          while(!www.isDone){
              print ("Processing File" + path);
          }
  
          if(www.isDone == true){
              print ("Song has been processed");
          }
      }
  }
  </code></pre>