通常而言,放在Plugin目錄下,而且引用到的dll文件都會被unity在發佈的時候一塊兒打包,但有的時候也有例外,好比使用 Unity3D-save-audioClip-to-MP3 這個庫(github地址)進行開發時,須要用到相似下面的代碼:git
var wtr = new LameMP3FileWriter(retMs, new WaveFormat(Frequency, BitRate, 1), LAMEPreset.ABR_16);
LameMP3FileWriter這個函數在editor下面運行徹底正常,可是打包發佈以後,再運行,就會提示:github
DllNotFoundException:libmp3lame.dll函數
這個庫自己並無提供libmp3lame.dll,不過能夠去這裏下載一個libmp3lame.dll:this
這個庫的做者原文在Lame For Unity Wav轉Mp3解決方案.net
然而,下載完libmp3lame.dll以後,明明白白地放在Plugin目錄下面,再次打包依然報DllNotFound。code
看了下MP3FileWriter.cs文件裏面的LameMP3FileWriter函數,確實有一句orm
this._lame = new LibMp3Lame();
LibMp3Lame.cs下面也確實用到了libmp3lame.dllblog
const string libname = @"libmp3lame.dll";
解決辦法很簡單:既然unity沒有打包,那麼就手動把libmp3lame.dll拷貝到unity編譯出的exe所在目錄下面便可。ip