前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity AudioSource加载本地.mp3文件/UnityWebRequest

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

原创
作者头像
魔都路易斯
修改2020-11-12 18:18:17
2.1K0
修改2020-11-12 18:18:17
举报
文章被收录于专栏:魔都路易斯魔都路易斯

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

    }

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档