/// <summary> /// Load the music from path in runtime. /// </summary> /// <param name="ac"> A container for audio data. </param> /// <param name="fullFilePath"> Filpath to the target audio file. </param> /// <param name="type"> Audio clip type. </param> /// <param name="callback"> Callback after the audio is loaded. </param> /// <returns> Coroutine status. </returns> public static IEnumerator LoadAudio( AudioClip ac, string fullFilePath, AudioType type = AudioType.OGGVORBIS, AudioLoaded callback = null) { string formatFullFilePath = string.Format("file://{0}", fullFilePath); #if UNITY_2018_1_OR_NEWER UnityWebRequest request = UnityWebRequestMultimedia.GetAudioClip(formatFullFilePath, type); yield return(request.SendWebRequest()); ac = DownloadHandlerAudioClip.GetContent(request); #else WWW request = new WWW(formatFullFilePath); yield return(request); ac = request.GetAudioClip(false, false); #endif if (callback != null) { callback.Invoke(ac); } }
/// <summary> /// Load the music from path in runetime. /// </summary> /// <param name="ac"> A container for audio data. </param> /// <param name="path"> file path, not include filename. </param> /// <param name="filename"> file name of the ogg file. </param> /// <param name="callback"> Callback after the audio is loaded. </param> /// <returns> Coroutine status. </returns> public static IEnumerator LoadAudio( AudioClip ac, string path, string filename, AudioLoaded callback = null) { string fullFilePath = path + filename; return(LoadAudio(ac, fullFilePath, callback)); }
/// <summary> /// Load the audio from path/url in runtime. /// </summary> /// <param name="path"> Path without file name. </param> /// <param name="filename"> Name of the file. </param> /// <param name="type"> Type of the audio clip. </param> /// <param name="callback"> Callback after the audio is loaded. </param> /// <returns> Coroutine status. </returns> public static IEnumerator LoadAudio( string path, string filename, AudioType type = AudioType.OGGVORBIS, AudioLoaded callback = null) { string url = Path.Join(path, filename); return(LoadAudio(url, type, callback)); }
/// <summary> /// Load the music from path in runtime. /// </summary> /// <param name="ac"> A container for audio data. </param> /// <param name="fullFilePath"> Filpath to the target audio file. </param> /// <param name="callback"> Callback after the audio is loaded. </param> /// <returns> Coroutine status. </returns> public static IEnumerator LoadAudio( AudioClip ac, string fullFilePath, AudioLoaded callback = null) { string formatFullFilePath = string.Format("file://{0}", fullFilePath); WWW request = new WWW(formatFullFilePath); yield return(request); ac = request.GetAudioClip(false, false); if (callback != null) { callback.Invoke(ac); } }
/// <summary> /// Load the audio from path/url in runtime. /// </summary> /// <param name="url"> Url to the target audio file. </param> /// <param name="type"> Type of the audio clip. </param> /// <param name="callback"> Callback after the audio is loaded. </param> /// <returns> Coroutine status. </returns> public static IEnumerator LoadAudio( string url, AudioType type = AudioType.OGGVORBIS, AudioLoaded callback = null) { #if UNITY_2018_1_OR_NEWER UnityWebRequest request = UnityWebRequestMultimedia.GetAudioClip(url, type); yield return(request.SendWebRequest()); AudioClip ac = DownloadHandlerAudioClip.GetContent(request); #else WWW request = new WWW(url); yield return(request); AudioClip ac = request.GetAudioClip(false, false); #endif if (callback != null) { callback.Invoke(ac); } }