簡體   English   中英

Unity:從iOS中的StreamingAsset文件夾加載mp3

[英]Unity: Loading mp3 from StreamingAsset Folder in iOS

我正在嘗試從在IOS下運行的統一項目中的streamingasset文件夾中加載MP3。 在編輯器中,一切正常,但在iPhone上未加載MP3。

我知道文件路徑問題,但是我假設一切正確。 這是代碼:

string fileName = "mytestfile";

if (Application.platform == RuntimePlatform.IPhonePlayer) {
    path = "file:/" + System.IO.Path.Combine (Application.streamingAssetsPath, fileName + ".mp3");
} else {
    path = "file://" + Application.dataPath + "/StreamingAssets/" + fileName + ".mp3";
}

Debug.Log ("LOAD FROM STREAMING ASSET " + path);

// Start a download of the given URL
WWW request = new WWW (path);

// Wait for download to complete
yield return request;

// use request.audio 
AudioClip loadedMp3 = request.GetAudioClip (false, false);   
Debug.Log ("Result length " + loadedMp3.length);  

這是xcode的輸出:

從流媒體資產加載文件:// var / mobile / Applications / {appid} /appname.app/Data/Raw/mytestfile.mp3

結果長度0

有人知道我在做什么錯嗎? 就像我說的,在編輯器中一切正常。

我實際上知道這一點,因為我今天正在使用它。 iOS中的流媒體資產稱為/ Raw /。 因此,您必須執行#if UNITY_IPHONE並引用/ Raw /來代替StreamingAssets。 在android中,它變得更加復雜。 您必須引用您的.jar! 您不高興使用iOS嗎?

你也不需要file://

如果是UNITY_EDITOR

使用StreamingAssets

XCode Player構建神奇地將您的目錄轉換為Raw。 因此,在運行時,您的代碼必須這樣說!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM