【发布时间】:2014-10-01 11:46:12
【问题描述】:
我在c#中遇到了一个奇怪的问题...
我试图通过 VLC 库连接到 ONVIF 摄像机(告诉我是否有更好的方法)
我在 NuGet 上找到了一个很好的预实现库,叫做 nVLC,然后我就使用了它,它非常好,
但是当我在c#中更改目标框架时,我意识到nVLC的目标框架与我选择的不同,
当我将目标框架改回 4.0(作为 nVLC 的)时,我遇到了一个奇怪的 LibVlcInitException 异常,
然后我下载了 nVLC 源代码和调试数据库,以找出 nVLC 中的问题
最后我发现异常不在nVLC的代码中,而是在C#内部的某个地方
处理外部方法的库加载机制。
我什至尝试在我的项目中使用内核方法 LoadLibrary() 加载 libvlc.dll 但这
一个像以前一样失败......
m_hMediaLib = LibVlcMethods.libvlc_new(args.Length, args); //nVLC internal line that error occures.
//and:
IMediaPlayerFactory _factory = new MediaPlayerFactory(); //in my code.
我更喜欢使用 VLC 连接到我的 ONVIF 相机(我的相机给了我 H264 格式)。
最后:
- 我想知道 LoadLibrary() 有什么问题。
- 我想知道是否有更好的库可以用更少的代码(仅 H264)连接到 ONVIF 相机。
谢谢...
【问题讨论】:
-
你的进程的位数是否发生了某种变化?
-
不!甚至在我重建项目时也会发生。
-
错误详情是什么??
-
nVLC 上的这个:无法初始化 libVLC。可能的原因:某些参数可能不正确。 VLC dll 的版本不匹配。
-
如何使用正确的框架版本从头开始重建您的项目?这可能比尝试解决奇怪的错误版本不匹配错误更容易。