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

2020-11-13 16:09:58 浏览数 (1)

关键字: 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://”终于访问并添加成功

上代码:

代码语言:javascript复制
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();
    }

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

0 人点赞