Support MP3

This commit is contained in:
Noah Pilarski 2022-05-19 18:18:26 -04:00
parent c2f2ddde7b
commit 756a602d7e

View File

@ -49,25 +49,54 @@ namespace NewHorizons.Utility
case ("ogg"):
audioType = UnityEngine.AudioType.OGGVORBIS;
break;
case ("mp3"):
Logger.LogWarning($".mp3 files take up a lot of memory! Please use .wav or .ogg instead.");
audioType = UnityEngine.AudioType.MPEG;
break;
default:
Logger.LogError($"Invalid audio file extension ({extension}) must be .wav or .ogg");
return null;
}
using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(filePath, audioType))
if (audioType == UnityEngine.AudioType.MPEG)
{
var result = www.SendWebRequest();
while (!result.isDone) { await Task.Delay(100); }
if (www.isNetworkError)
string fileProtocolPath = $"file://{filePath}";
DownloadHandlerAudioClip dh = new DownloadHandlerAudioClip(fileProtocolPath, UnityEngine.AudioType.MPEG);
dh.compressed = true;
using (UnityWebRequest www = new UnityWebRequest(fileProtocolPath, "GET", dh, null))
{
Debug.Log(www.error);
return null;
var result = www.SendWebRequest();
while (!result.isDone) { await Task.Delay(100); }
if (www.isNetworkError)
{
Debug.Log(www.error);
return null;
}
else
{
return dh.audioClip;
}
}
else
}
else
{
using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(filePath, audioType))
{
return DownloadHandlerAudioClip.GetContent(www);
var result = www.SendWebRequest();
while (!result.isDone) { await Task.Delay(100); }
if (www.isNetworkError)
{
Debug.Log(www.error);
return null;
}
else
{
return DownloadHandlerAudioClip.GetContent(www);
}
}
}
}