我已经在code.videolan网站上测试了WPF最小VLC示例,它工作正常。
然后,我按照微软文档here为Windows商店准备(并打包)应用程序,基本上它不再与加载库失败消息一起工作。
将. package项目设置为启动项目会产生问题。这些是我拥有的包,尽管UWP刚刚添加,并且没有在任何地方引用。
在VLC示例中,它直接在Core.Initialize()上失败;
void VideoView_Loaded(object sender, RoutedEventArgs e)
{
Core.Initialize();
_libVLC = new LibVLC();
_mediaPlayer = new MediaPlayer(_libVLC);
VideoView.Media
_mediaPlayer.Play(new Media(_libVLC, new Uri("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4")));
}
如果我把:
var url = typeof(LibVLC).Assembly.Location;
在Core.ini行之前检查它的查找位置,我得到:"C:\用户\法郎\文档\Visual Studio 2019\项目\VLCTest\VLC.Package\bin\x64\Debug\AppX\VLCTest\LibVLCSharp.dll"
在我看来还可以...有什么建议吗?
- 编辑1**
未在AppX文件夹下创建libvlc文件夹:
{"无法加载所需的本机库。\r\n是否已从nuget为目标平台安装了最新的LibVLC包?\r\n搜索路径包括
...项目\VLCTest\VLC.Package\bin\x64\调试\应用程序\VLCTest\libvlc\win-x64\libvlc.dll,...项目\VLCTest\VLC.Package\bin\x64\调试\应用程序\VLCTest\libvlc\win-x64\libvlccore.dll; ...项目\VLCTest\VLC.Package\bin\x64\调试\应用程序\VLCTest\libvlc\win-x64\libvlc.dll,...项目\VLCTest\VLC.Package\bin\x64\调试\应用程序\VLCTest\libvlc\win-x64\libvlccore.dll; ...项目\VLCTest\VLC.Package\bin\x64\Debug\AppX\VLCTest\libvlc.dll,"}
所以我手动将文件夹从WPF项目(不再是启动项目)复制到新的. package启动项目AppX ...文件夹,它工作了。
什么是干净的解决方案呢?
1条答案
按热度按时间h7appiyu1#
Package 与MSIX从来没有测试过,据我所知。
您的libvlc.dll、libvlccore.dll文件和插件文件夹是否正确复制到应用的DLL旁边?
如果您不使用UWP,请不要引用LVS.UWP。