如何在Raspberry Pi上使用VLC.DotNet.Core API



我做了一个C#控制台应用程序,它用单声道(mcs)编译,我可以在Windows和Raspberry Pi(raspbian)上运行它。 该应用程序使用 NuGet 包Vlc.DotNet.Core与我的 Windows 计算机上存在的 VLC 安装进行交互,这有效。

我知道在我的 Windows 机器上libvlc.dll路径(API 需要它才能工作),问题是即使在 Raspberry Pi 上安装了 VLC 后,我也找不到它apt-get install vlc.

我已经在 Pi 中搜索了 vlc 的位置,并将该路径输入到VlcMediaPlayer的构造函数中,如下所示;

new VlcMediaPlayer(new DirectoryInfo("/usr/lib/arm-linux-gnueabihf/vlc"));

我对自己使用了正确的路径几乎没有信心...... 显然,VLC的Windows安装和Raspbian的安装之间存在重大差异。

Pi 上生成的异常如下:

Unhandled Exception:
System.IO.FileNotFoundException: Unable to find the specified file.
at Vlc.DotNet.Core.Interops.VlcLibraryLoader..ctor (System.IO.DirectoryInfo dynamicLinkLibrariesPath) [0x0007a] in <baf298be89ec4e8f88b59dde806086ea>:0 
at Vlc.DotNet.Core.Interops.VlcLibraryLoader.GetOrCreateLoader (System.IO.DirectoryInfo dynamicLinkLibrariesPath) [0x00051] in <baf298be89ec4e8f88b59dde806086ea>:0 
at Vlc.DotNet.Core.Interops.VlcManager..ctor (System.IO.DirectoryInfo dynamicLinkLibrariesPath, System.String[] args) [0x00006] in <baf298be89ec4e8f88b59dde806086ea>:0 
at Vlc.DotNet.Core.VlcMediaPlayer..ctor (System.IO.DirectoryInfo vlcLibDirectory) [0x00000] in <9af967e78de14038abf8c3386a2b8049>:0 
at MonoApp.Classes.VLCFactory.Create () [0x0000b] in <0b03f50fed2542db8a444bf356ef64b6>:0 
at MonoApp.Classes.VLCCommands.VLCCommand_Play.Execute (Vlc.DotNet.Core.VlcMediaPlayer& mediaPlayer, System.String[] args) [0x00007] in <0b03f50fed2542db8a444bf356ef64b6>:0 
at MonoApp.Program.Main (System.String[] args) [0x00019] in <0b03f50fed2542db8a444bf356ef64b6>:0 

编辑:

我在这里找到了 VlcLibraryLoader 类的源文件(如异常所示),显然它正在寻找三个 dll,其中只有两个存在于 Windows 上,所以我猜测链接的源文件略微过时。 这里的重点是他们正在寻找.dll文件,而不是 Raspberry Pi 上存在的.so文件,所以我并不惊讶它失败了。 然而,问题仍然存在...

问题:

  • 我是否使用了正确的 vlc 包libvlc-dev,我还需要其他依赖项吗?
  • Vlc.DotNet.CoreAPI 是否已知可以与mono一起处理Raspbian,或者我是否走在一条绝望的道路上?

我不知道是否可以使Vlc.DotNet.Core在带有单声道的raspbian上工作。如您所知,它最初的目标是在Windows上运行。

LibVLCSharp可能会在raspbian上运行,因为它可以与ubuntu一起使用。

LibVLC/GTK linux 安装指南:https://code.videolan.org/videolan/LibVLCSharp/blob/master/docs/linux-setup.md

LibVLCSharp.GTK 样本:https://code.videolan.org/videolan/LibVLCSharp/tree/master/Samples/LibVLCSharp.GTK.Sample

祝你好运。

相关内容

  • 没有找到相关文章

最新更新