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

相关文章
相关标签/搜索