[英]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://
使用StreamingAssets
XCode Player構建神奇地將您的目錄轉換為Raw。 因此,在運行時,您的代碼必須這樣說!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.