unity使用外部调取音频
这个功能需要调用DLL 下载连接:NAudio.DLL
不用积分的,直接下载就可以
1.由于Unity支持的外部加载的音频格式有限(wav、ogg等)
2.所以得用外部资源来更改目标格式,用到了.Net里面的NAudio库来转换并播放MP3格式音频
using System.Collections;
using System.IO;
using NAudio.Wave;
using UnityEngine;
public class LoadBGM : MonoBehaviour
{
string a = "早稻叽 - 威风糖糖(翻自 梅とら).mp3";
void Start()
{
StartCoroutine(LoadMusic(Application.streamingAssetsPath + "/Songs/"+ a, Application.streamingAssetsPath + "/Songs_WAV/" + a.Replace("mp3", "wav")));
}
private IEnumerator LoadMusic(string filepath, string savepath)
{
var stream = File.Open(filepath, FileMode.Open);
var reader = new Mp3FileReader(stream);
WaveFileWriter.CreateWaveFile(savepath, reader);
var www = new WWW("file://" + savepath);
yield return www;
var clip = www.GetAudioClip();
//记得在脚本挂在处加个audiosource
GetComponent<AudioSource>().clip = clip;
GetComponent<AudioSource>().Play();
}
}
需要用到的DLL链接👇
🤯🤯🤯**!!!注意 一定要调小一点AudioSourcec的音量!!!**🤯🤯🤯
1.StreamingAssets为外部调取文件夹
2.Songs文件夹为等待替换文件
3.Songs_WAV为替换格式完成并保存的位置