Unity AudioSource加载本地.mp3文件/UnityWebRequest

关键字:  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();

}

最后,如果解决了你的问题是不是应该点个赞再走,逃:)

推荐阅读 更多精彩内容