Unity StreamingAssets Android路徑問題
阿新 • • 發佈:2019-01-27
1、首先在unity工程中建立一個“StreamingAssets”的資料夾,然後把相關的資源放到這個檔案下,如果檔案過多或者型別不一,也
可以在這個檔案下再新建一個子資料夾,這裡我們命名為“SEM”,然後把資源放進這個檔案裡,在這裡,我們放一個音訊,如圖:
注:在資料夾命名的時候,一定要注意名字的拼寫,否則路徑出錯就找不到相應路徑下的資源。
2、之後我們新建一個指令碼檔案“StreamingAssests_Script.cs”:
指令碼中,我們先寫一個協同,用於按路徑查詢資源並下載引入:
首先是路徑的寫法:
Enumerator DownStreamingAssetVoice(string flodername, string audioname) { string filePath = #if UNITY_ANDROID && !UNITY_EDITOR "jar:file://" + Application.dataPath + "!/assets/" + flodername + "/"; #elif UNITY_IPHONE && !UNITY_EDITOR Application.dataPath + "/Raw/"; #elif UNITY_STANDALONE_WIN || UNITY_EDITOR "file://" + Application.dataPath + "/StreamingAssets" + "/" + flodername + "/"; #else string.Empty; #endif }
定義好路徑之後,我們在通過WWW類來呼叫:
filePath += audioname;
WWW www = new WWW(filePath);
yield return www;
if (www.error != null)
Debug.Log(www.error);
AudioClip myaudioclip= www.audioClip;
到這裡,獲取資源的內容就結束了,接下來是呼叫並播放之;
StartCoroutine(DownStreamingAssetVoice("SFM", "go.wav")); AudioSource.PlayClipAtPoint(my,transform.position,1.0f);
作者水平有限,不足之處還望見諒!