安卓使用UnityWebRequest播放本地文件夹下的音频文件(MP3,WAV均可)
安卓加载本地AudioClip
·
话不多说,直接上代码
首先,获取文件夹下面的所有文件路径:
//获取到目录下面所有文件的路径(本路径下只放音乐文件)
public static string[] GetAudiosByPath()
{
string path = Application.persistentDataPath + "/Audios/";
string [] audioClipspath = null;
if (Directory.Exists(path))
{
DirectoryInfo direction = new DirectoryInfo(path);
FileInfo[] files = direction.GetFiles("*");
audioClipspath = new string[files.Length];
for (int i = 0; i < files.Length; i++)
{
audioClipspath[i] = files[i].FullName;
}
}
return audioClipspath;
}
接着通过UnityWebRequest 加载音频文件(这里有坑,请注意!!!)
private IEnumerator PlayIe(int num)
{
UnityWebRequest _unityWebRequest = UnityWebRequestMultimedia.GetAudioClip("file://"+Tools.GetAudiosByPath()[num], AudioType.MPEG);//注意这里的路径必须加:"file://"
yield return _unityWebRequest.SendWebRequest();
AudioClip _audioClip = DownloadHandlerAudioClip.GetContent(_unityWebRequest);
playersou.clip = _audioClip;
playersou.Play();
}
通过执行上面的协成,可以完成音频文件的加载。
注意:这里的用于本地播放音频的路径前必须加:"file://",是两个"/",不是三个,也不是一个!!!,因为Application.persistentDataPath获取到的路径本身前面自带一个"/"。这里就很坑了
更多推荐
已为社区贡献2条内容
所有评论(0)