我只是想简单地使用本地磁盘上的文件更改 AudioSource 的 AudioClip 内容。
该文件可以作为 AudioClip 导入到 Unity 中并且播放没有问题,但是当使用
UnityWebRequest.GetAudioClip
加载时,绝对不会出现回声;当检查音频源时,声波完全平坦,但如果我单击声波,音频仍然会播放。
这是我使用的代码:
IEnumerator GetAudioClip()
{
string path = "C:/path_to_audio_file/audio.wav";
using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip($"file://{path}", AudioType.WAV))
{
yield return www.SendWebRequest();
tmpAudio = DownloadHandlerAudioClip.GetContent(www);
audioSource.clip = tmpAudio;
audioSource.Play();
}
}
// Start is called before the first frame update
void Start()
{
StartCoroutine(GetAudioClip());
}
我可能做错了什么,如果是,我该如何解决?
我尝试过的:
audioSource.clip = tmpAudio
部分放在协程之外路径可能是问题,因为它使用反斜杠。您可以将它们替换为正斜杠,如下所示:
using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip($"file:///{path.Replace("\\", "/")}", AudioType.WAV))