unity如何在Android上使用www加载具有绝对路径的mp3文件

时间:2018-11-26 06:09:52

标签: android unity3d mp3

我正在制作移动节奏游戏。我得到了这样的歌曲的绝对路径。

  

/storage/emulated/0/Music/a.mp3

我想将mp3文件转换为audioClip

但是我无法从绝对路径接收mp3文件。

这是我的代码:

IEnumerator GetSoundFile(string path)
{
    //path : '/storage/emulated/0/Music/a.mp3'
    testText.text = path;
    source = GetComponent<AudioSource>();
    using (var www = new WWW(path))
    {
        yield return www;
        source.clip = www.GetAudioClip();
    }
    SoundManager.instance.PlaySingle(source.clip);
}

我如何接收音乐文件?

2 个答案:

答案 0 :(得分:0)

您需要获取android位置的持久路径,请尝试以下操作 https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html

答案 1 :(得分:0)

在android中,添加此函数以获取正确的路径:

...
path = GetUri(path);
...

private string GetUri(string uri)
{
     if (uri.Contains("://") || uri.Contains(":///"))
         return uri;

     return "file://" + uri;
}