關(guān)鍵字:? Unity AudioSource本地Mp3文件加載
????????????????UnityWebRequestMultimedia.GetAudioClip() 新版本api
? ? ? ? ? ? ? ? UnityWebRequest.GetAudioClip()? 舊版api
? ? ? ? ? ? ? ? Errror:“Cannot connect to destination host.”
測(cè)試環(huán)境:2019.2.9f1
? ? ? ? ? ? ? ? ? ?發(fā)布安卓端
需求:mp3文件本地加載到Unity的AudioSource組件中
坑:
1.先看網(wǎng)絡(luò)上說(shuō)www不能加載mp3格式,所以選擇了UnityWebRequestMultimedia來(lái)加載;
2.由于做安卓Unity交互所以本地文件地址是安卓傳給我的,路徑為/data/user/0/下應(yīng)用的私有化目錄,發(fā)現(xiàn)Unity的UnityWebRequestMultimedia訪問(wèn)后返回的Error是:Cannot connect to destination host.
3.無(wú)奈只能從路徑中把mp3文件拷貝出來(lái)到Application.persistentPath試一試,結(jié)果還是不行,依舊返回上面的錯(cuò)誤。
4.最后在Application.persistentPath前面添加了“file://”終于訪問(wèn)并添加成功
上代碼:
AudioSource?audioSource;
IEnumerator?GetAudioClip(string?path)
????{
????????path?=?"file://"?+?path;?
//(目錄如果為Application.persistentDataPath 下必須添加“file://”,這里可以寫(xiě)個(gè)宏)
????????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();
????}
最后,如果解決了你的問(wèn)題是不是應(yīng)該點(diǎn)個(gè)贊再走,逃:)