我的应用程序使用 LibVLC v3.0.3 从内存中播放 WAV 声音。
到目前为止,我能够确定所需的主要插件文件夹(这是通过一次删除一个文件夹进行测试,并测试应用程序是否正常工作以及输出中是否有声音)。
我想过滤这 5 个左侧文件夹(access、audio_filter、audio_output、codec 和 demux)以仅保留所需的插件 DLLs。
我发现:加载的插件越少,应用程序加载得越快。
并且,是否可以在编译时将这些插件库静态链接到应用程序?
如何知道我的应用程序只需要哪些插件?
这取决于您的应用程序正在做什么。一旦您了解了应用程序的功能,您就可以了解哪些 VLC 插件可以做什么,如果您自己构建,还可以删除那些您不需要的插件
configure
https://wiki.videolan.org/Configure/ 。
我发现:加载的插件越少,应用程序加载得越快。
我想这是真的,但并非所有插件都会默认加载。
并且,是否可以在编译时将这些插件库静态链接到应用程序!?
取决于哪个平台。对于 Windows,我不这么认为,但当前 Apple 平台的 VLC 应用程序是静态链接的。
我建议您查看 VideoLAN gitlab 的官方应用程序构建脚本 https://code.videolan.org/explore/projects/starred
如果您有机会使用 .NET 堆栈(适用于 Windows),那么这会更容易,感谢 https://github.com/mfkl/libvlc-nuget/blob/master/cherry-picking.md