关键字: Unity AudioSource本地Mp3文件加载
UnityWebRequestMultimedia.GetAudioClip() 新版本api
UnityWebRequest.GetAudioClip() 旧版api
Errror:“Cannot connect to destination host.”
测试环境:2019.2.9f1
发布安卓端
需求:mp3文件本地加载到Unity的AudioSource组件中
坑:
1.先看网络上说www不能加载mp3格式,所以选择了UnityWebRequestMultimedia来加载;
2.由于做安卓Unity交互所以本地文件地址是安卓传给我的,路径为/data/user/0/下应用的私有化目录,发现Unity的UnityWebRequestMultimedia访问后返回的Error是:Cannot connect to destination host.
3.无奈只能从路径中把mp3文件拷贝出来到Application.persistentPath试一试,结果还是不行,依旧返回上面的错误。
4.最后在Application.persistentPath前面添加了“file://”终于访问并添加成功
上代码:
AudioSource audioSource;
IEnumerator GetAudioClip(string path)
{
path = "file://" path;
//(目录如果为Application.persistentDataPath 下必须添加“file://”,这里可以写个宏)
using (var uwr = UnityWebRequestMultimedia.GetAudioClip(path, AudioType.MPEG))
{
yield return uwr.SendWebRequest();
if (uwr.isNetworkError)
{Debug.LogError("uwrERROR:" uwr.error); }
else
{
audioSource = DownloadHandlerAudioClip.GetContent(uwr);
}
}
dgeneAudio.Play();
}
最后,如果解决了你的问题是不是应该点个赞再走,逃:)