[英]How I could add some MP3 files from android storage to streaming asset folder at run time?
我想從用戶那里獲取一些 MP3 文件並在運行時播放。 有沒有辦法從android存儲中獲取它並將其放入流式資產文件夾中播放?
你必須使用
Application.persistentDataPath
它指向 Android 上的 /storage/emulated/0/Android/data/<< packagename >>/files。 找到路徑后,通過WWW類加載文件
WWW www = new WWW("file://" + path);
yield www;
在應用程序中擁有文件后,將其分配給聲音組件並播放。
public const string audioName = "mario.wav";
[Header("Audio Stuff")]
public AudioSource audioSource;
public AudioClip audioClip;
public string soundPath;
private void Awake()
{
audioSource = gameObject.AddComponent<AudioSource>();
soundPath = "file://" + Application.streamingAssetsPath + "/Sound/";
StartCoroutine(LoadAudio());
}
private IEnumerator LoadAudio()
{
WWW request = GetAudioFromFile(soundPath, audioName);
yield return request;
audioClip = request.GetAudioClip();
audioClip.name = audioName;
// BinaryFormatter bin = new BinaryFormatter();
// FileStream stream = new FileStream(, FileMode.Create);
// bin.Serialize(stream, audioClip.ToString());
// stream.Close();
PlayAudioFile();
}
private void PlayAudioFile()
{
audioSource.clip = audioClip;
//audioSource.Play();
audioSource.loop = true;
}
private WWW GetAudioFromFile(string path, string filename)
{
string audioToLoad = string.Format(path + "{0}", filename);
WWW request = new WWW(audioToLoad);
return request;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.