簡體   English   中英

如何在運行時將一些 MP3 文件從 android 存儲添加到流資產文件夾?

[英]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.

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