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();

    }

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

你可能感兴趣的:(Unity AudioSource加载本地.mp3文件/UnityWebRequest)