Files
TaiWan/Assets/Roaming/Scripts/Loader/AudioLoader.cs
2025-10-31 15:20:38 +08:00

38 lines
1.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEngine.Networking;
public class AudioLoader
{
public static IEnumerator LoadAudio(string auFullName, AudioLoadedEventHandler handler, AudioSource asHandler, AudioType auType = AudioType.MPEG)
{
// Debug.Log(auFullName);
using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(auFullName, auType))
{
yield return www.SendWebRequest();
if (www.result == UnityWebRequest.Result.Success)
{
AudioClip auClip = DownloadHandlerAudioClip.GetContent(www);
auClip.name = Path.GetFileNameWithoutExtension(auFullName);
if (handler != null)
{
handler(auClip, asHandler);
}
}
else
{
Debug.Log(string.Format("Error loading remote audio【{0}】:{1} ", auFullName, www.error));
}
}
}
}
/// <summary>
/// 音频加载结束事件委托
/// </summary>
/// <param name="ac">音频对象</param>
public delegate void AudioLoadedEventHandler(AudioClip auClip, AudioSource asHandler);