unity在editor環境下運行正常,打包發佈以後卻提示DllNotFound的解決辦法

通常而言,放在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-Unityspa

這個庫的做者原文在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

相關文章
相關標籤/搜索