1. 程式人生 > >Unity StreamingAssets Android路徑問題

Unity StreamingAssets Android路徑問題

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

作者水平有限,不足之處還望見諒!