mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
AudioUtilities: better error reporting
This commit is contained in:
parent
eaf71ca23f
commit
3e22a930c3
@ -81,9 +81,9 @@ namespace NewHorizons.Utility
|
|||||||
_loadedAudioClips.Clear();
|
_loadedAudioClips.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async Task<AudioClip> GetAudioClip(string filePath)
|
private static async Task<AudioClip> GetAudioClip(string path)
|
||||||
{
|
{
|
||||||
var extension = filePath.Split('.').Last();
|
var extension = Path.GetExtension(path);
|
||||||
|
|
||||||
UnityEngine.AudioType audioType;
|
UnityEngine.AudioType audioType;
|
||||||
|
|
||||||
@ -99,24 +99,24 @@ namespace NewHorizons.Utility
|
|||||||
audioType = UnityEngine.AudioType.MPEG;
|
audioType = UnityEngine.AudioType.MPEG;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
Logger.LogError($"Invalid audio file extension ({extension}) must be .wav or .ogg or .mp3");
|
Logger.LogError($"Couldn't load Audio at {path} : Invalid audio file extension ({extension}) must be .wav or .ogg or .mp3");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
path = $"file:///{path.Replace("+", "%2B")}";
|
||||||
if (audioType == UnityEngine.AudioType.MPEG)
|
if (audioType == UnityEngine.AudioType.MPEG)
|
||||||
{
|
{
|
||||||
string fileProtocolPath = $"file://{filePath}";
|
DownloadHandlerAudioClip dh = new DownloadHandlerAudioClip(path, UnityEngine.AudioType.MPEG);
|
||||||
DownloadHandlerAudioClip dh = new DownloadHandlerAudioClip(fileProtocolPath, UnityEngine.AudioType.MPEG);
|
|
||||||
dh.compressed = true;
|
dh.compressed = true;
|
||||||
using (UnityWebRequest www = new UnityWebRequest(fileProtocolPath, "GET", dh, null))
|
using (UnityWebRequest www = new UnityWebRequest(path, "GET", dh, null))
|
||||||
{
|
{
|
||||||
var result = www.SendWebRequest();
|
var result = www.SendWebRequest();
|
||||||
|
|
||||||
while (!result.isDone) { await Task.Delay(100); }
|
while (!result.isDone) { await Task.Delay(100); }
|
||||||
|
|
||||||
if (www.isNetworkError)
|
if (www.isNetworkError || www.isHttpError)
|
||||||
{
|
{
|
||||||
Debug.Log(www.error);
|
Logger.LogError($"Couldn't load Audio at {path} : {www.error}");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -127,15 +127,15 @@ namespace NewHorizons.Utility
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(filePath, audioType))
|
using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip(path, audioType))
|
||||||
{
|
{
|
||||||
var result = www.SendWebRequest();
|
var result = www.SendWebRequest();
|
||||||
|
|
||||||
while (!result.isDone) { await Task.Delay(100); }
|
while (!result.isDone) { await Task.Delay(100); }
|
||||||
|
|
||||||
if (www.isNetworkError)
|
if (www.isNetworkError || www.isHttpError)
|
||||||
{
|
{
|
||||||
Debug.Log(www.error);
|
Logger.LogError($"Couldn't load Audio at {path} : {www.error}");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user