- Home /
how to play a mp3 audio file in unity ?
Here is my code that will play only wav audio file...
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor;
public class Mp : MonoBehaviour { string path; string extension; public GameObject musicAnalysis; string songName; float length; AudioSource song;
 // Use this for initialization
 void Start()
 {
     song = musicAnalysis.GetComponent<AudioSource>();
 }
 // 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 path and save 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.GetAudioClip();
     songName = www.GetAudioClip().name;
     length = www.GetAudioClip().length;
     while (!www.isDone)
     {
         print("Processing File" + path);
     }
     if (www.isDone == true)
     {
         print("Song has been processed");
         song.Play();
     }
 }
}
I have one more script that will play wav audio files but still i am unable to play mp3 in unity(in pc).
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEditor; using System.IO;
public class OpenFile : $$anonymous$$onoBehaviour { public AudioSource audios; public Text Current$$anonymous$$usicTrackName; string SongName; public GameObject Btn_Open;
 public void Start()
 {
     
 }
 public void OpenFiles()
 {
     //Debug.Log(Application.dataPath);
     string path = EditorUtility.OpenFilePanel("Select a file", "", "wav");
     if (path.Length != 0)
     {
         if(path.Contains(".wav"))
         {
             StartCoroutine(PlayAudio(path)); 
         }
         else
         {
             EditorUtility.DisplayDialog("Error","Please select a valid file.","O$$anonymous$$");
             OpenFiles();
         }
     }
    
 }
 IEnumerator PlayAudio(string path)
 {
     var www = new WWW ("file:///" + path);
     AudioClip myAudioClip= www.GetAudioClip(false, false);//www.GetAudioClip();
     while (!myAudioClip.isReadyToPlay)
         yield return www;
     audios.clip = myAudioClip;
    // Debug.Log(path);
     SongName = path;
    // Debug.Log(SongName);
     Current$$anonymous$$usicTrackName.text = path;
     audios.Play ();
     Btn_Open.SetActive(false);
 }
}
Your answer
 
 
             Follow this Question
Related Questions
Questions about using custom mp3's vs unity's automatic wav to mp3 compression 1 Answer
Export objects to a .3DS file at runtime 1 Answer
can't load music (wav and mp3 ) on android but the code works fine in editor and window build 0 Answers
.wav or .mp3 for audioclips? 2 Answers
Converting .wav to .mp3 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                