美文网首页unity
[Unity 3d]解决 UMP Can't load 'lib

[Unity 3d]解决 UMP Can't load 'lib

作者: 雨落随风 | 来源:发表于2021-08-15 18:17 被阅读0次

这是一篇碎碎念的 UMP Bug 修正笔记,希望能帮助有需要的朋友。
UMP :Universal Miedia Player

前言

买了 PRO 授权,更新下Unity 版本不过分吧(笔者更新到Unity 2019.4.13f1),本想期待有啥惊喜,emmm.... 惊喜没有惊吓倒是来了。如图,居然找不到 dll 了...


失效分析

  • 确认 AssetsStore ,UMP 为最新版本。
  • 调试输出 UMP 请求的 dll 路径,发现该地址与打包后 libvlccore.dll 所在目录不一致。
  • 确认新版本 Unity 出包后 dll 路径较低版本 Unity 多了个 x86 或者 x86_64 的层级。

至此真相大白:为新版本Unity把Dll 转移到了 x86 / x86_64 文件夹,而插件未及时更新导致的。

解决方案

1. 高版本 Unity 在出 PC 包的时候,32位系统下 dll 放在 x86 文件夹,64位则放在 x86_64 文件夹下。我们使用 API System.Environment.Is64BitProcess 确认程序是 32 位还是 64 位。
2. 使用 补充完善高版本中发生的变化,即高版本Unity路径需要多加 x86 或者 x86_64 这么一层 ,按图索骥,做如下修改,该步骤保证打包后获取到正确的 dll 路径:
UMPSettings.EditorBitMode 需修改成这样子 UMPSettings.GetLibrariesPath 需加这么几句话
3. UMP 内置了超级多的解码相关 dll 放在 plugins 文件夹下,(示例: Assets/UniversalMediaPlayer/Win/x86/plugins ),按图索骥,修改 UMPPostBuilds ,使其能够正确的转移 plugins 文件夹:
UMPPostBuilds.BuildWindowsPlayer32 UMPPostBuilds.BuildWindowsPlayer64

写到最后

  • 该插件不支持中文路径,别不信,我试过。
  • 插件路径就放在 Assets 文件夹根节点,作者代码中约定的。
  • 插件好像2019年就停更了,更新了 Unity 都会存在这个问题,很有必要做个笔记,希望能够帮助到大家,省下些许试错成本。
  • 做监控播放,请直接使用监控厂商的 SDK ,UMP 难堪大用!

相关文章

网友评论

    本文标题:[Unity 3d]解决 UMP Can't load 'lib

    本文链接:https://www.haomeiwen.com/subject/dlzdbltx.html