libvlc_new 在 vlc 2.1.3 中总是返回 null

2024-01-27

libvlc_new 始终返回 null。我已将 libvlc.dll 和 libvlccore.dll 复制到解决方案目录的调试文件夹中。

我们还尝试调用 libvlc_new(0,null) 并将环境变量“VLC_PLUGIN_PATH”设置为插件目录,结果相同。

任何指针出了什么问题/或者在 .net 环境中以编程方式访问 libVlc API 的最佳方法是什么。

请查找下面用 C#、VS2010 开发的代码片段。

IntPtr instance, player ;
string[] args = new string[] {
"-I", "dummy", "--ignore-config",
@"--plugin-path=D:\plugins",
"--vout-filter=deinterlace", "--deinterlace-mode=blend"
};
instance = LibVlc.libvlc_new(args.length, args);
IntPtr media = LibVlc.libvlc_media_new_location(instance, @"rtsp://username assword@IP_address/path");
player = LibVlc.libvlc_media_player_new_from_media(media);
LibVlc.libvlc_media_player_set_hwnd(player, panel1.Handle);
LibVlc.libvlc_media_player_play(player);

we have done P/Invoke for corresponding library calls as:

[DllImport("D:\\myvlc\\myvlc\\bin\\Debug\\libvlc", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr libvlc_new(int argc, [MarshalAs(UnmanagedType.LPArray,
ArraySubType = UnmanagedType.LPStr)] string[] argv);

[DllImport("D:\\myvlc\\myvlc\\bin\\Debug\\libvlc", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr libvlc_media_new_location(IntPtr p_instance,
[MarshalAs(UnmanagedType.LPStr)] string psz_mrl);

[DllImport("D:\\myvlc\\myvlc\\bin\\Debug\\libvlc", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr libvlc_media_player_new_from_media(IntPtr media);

[DllImport("D:\\myvlc\\myvlc\\bin\\Debug\\libvlc", CallingConvention = CallingConvention.Cdecl)]
public static extern void libvlc_media_player_set_hwnd(IntPtr player, IntPtr drawable);

[DllImport("D:\\myvlc\\myvlc\\bin\\Debug\\libvlc", CallingConvention = CallingConvention.Cdecl)]
public static extern void libvlc_media_player_play(IntPtr player);

参数 --plugin-path" 被忽略。

通过复制整个插件目录,可以在 2.1.3 中使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

libvlc_new 在 vlc 2.1.3 中总是返回 null 的相关文章

  • WindowsError:[错误 126] 使用 ctypes 加载操作系统时

    python代码无法在Windows 7平台上运行 def libSO lib ctypes cdll LoadLibrary ConsoleApplication2 so lib cfoo2 1 3 当我尝试运行它时 得到来自python
  • 更新面板工作速度非常慢

    我正在编写一个用户可以注册的应用程序 注册时 可以选择多个选项 并根据这些注册字段可见或不可见以及是否必需 我想出了一个想法 所有字段都将位于 updatePanel 中 当用户更改注册选项时 我将在服务器端设置这些字段的可见性 它可以工作
  • 为什么这个 Web api 控制器不并发?

    我有一个 Web API 控制器 里面有以下方法 public string Tester Thread Sleep 2000 return OK 当我调用它 10 次 使用 Fiddler 时 我预计所有 10 次调用都会在大约 2 秒后
  • C# 方法重载决策不选择具体的泛型覆盖

    这个完整的 C 程序说明了这个问题 public abstract class Executor
  • 使用 CMake 时如何导出 Emscripten 中的 C 函数

    In 本教程 https emscripten org docs porting connecting cpp and javascript Interacting with code html interacting with code
  • 在 CPP 类中将 C 函数声明为友元

    我需要在 C 函数中使用类的私有变量 我正在做这样的事情 class Helper private std string name public std getName return name friend extern C void in
  • 前向声明类型和“已声明为类类型的非类类型”

    我对以下代码有问题 template
  • 未找到 Boost 库,但编译正常

    我正在尝试在 C 中使用 boost 的文件系统 使用时看起来编译没问题 c c Analyse c o Analyse o g W Wall L usr local lib lboost filesystem lboost system
  • 传递 constexpr 对象

    我决定给予新的C 14的定义constexpr旋转并充分利用它 我决定编写一个小的编译时字符串解析器 然而 我正在努力保持我的对象constexpr将其传递给函数时 考虑以下代码 include
  • 在 .NET MAUI 中实现 TouchTracking

    我一直致力于将我们的应用程序从 Xamarin Forms 迁移到 NET MAUI 我们的应用程序几乎没有绘图功能 用户可以用手指进行绘图 我们用了TouchTrackingXamarin Forms 中的 nuget 包 但与 NET
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判
  • 在 C 中使用枚举而不是 #defines 作为编译时常量是否合理?

    在 C 工作了一段时间后 我将回到 C 开发领域 我已经意识到 在不必要的时候应该避免使用宏 以便让编译器在编译时为您做更多的工作 因此 对于常量值 在 C 中我将使用静态 const 变量或 C 11 枚举类来实现良好的作用域 在 C 中
  • 将 Word 转换为 PDF - 禁用“保存”对话框

    我有一个用 C 编写的 Word 到 PDF 转换器 除了一件事之外 它工作得很好 有时 在某些 Word 文件上 后台会出现一条消息保存源文件中的更改 gt 是 否 取消 但我没有对源文件进行任何更改 我只想从 Word 文件创建 PDF
  • 比较:接口方法、虚方法、抽象方法

    它们各自的优点和缺点是什么 接口方法 虚拟方法 抽象方法 什么时候应该选择什么 做出这一决定时应牢记哪些要点 虚拟和抽象几乎是一样的 虚方法在基类中有一个实现 可以选择重写 而抽象方法则没有 并且must在子类中被覆盖 否则它们是相同的 在
  • 模板类中的无效数据类型生成编译时错误?

    我正在使用 C 创建一个字符串类 我希望该类仅接受数据类型 char 和 wchar t 并且我希望编译器在编译时使用 error 捕获任何无效数据类型 我不喜欢使用assert 我怎样才能做到这一点 您可以使用静态断言 促进提供一个 ht
  • 使动态创建的链接标签在 Winforms 中可点击

    我正在制作一个程序 允许用户单击由动态链接标签创建的公司名称 在我想知道如何做到这一点之前 我从未在 C 中使用过链接标签 可为特定用户生成的业务数量各不相同 因此每个用户的链接标签数量并不相同 然后我想捕获业务 ID 以进行 Json 调
  • Visual Studio 2015:v120 与 v140?

    仅供参考 Win10 x64 我今天开始尝试 Visual Studio 2015 在弄清楚如何运行 C C 部分后 我尝试加载一个大型个人项目 该项目使用非官方的glsdk http glsdk sourceforge net docs
  • EntityFramework 6.0.0.0 读取数据,但不插入

    我创建了一个基于服务的数据库 folderName gt Add New Item gt Data gt Service based Database文件到 WPF 应用程序中 然后我用过Database First方法并创建了Person
  • 没有“对 *this”功能的右值引用的解决方法

    我有一个围绕可移动对象的代理容器类 并希望代理能够隐式生成对底层对象的右值引用 但仅当代理本身被移动时 我相信我将能够按照提案 n2439 实施此行为 将移动语义扩展到 this http www open std org jtc1 sc2
  • 如何在 sql azure 上运行 aspnet_regsql? [复制]

    这个问题在这里已经有答案了 可能的重复 将 ASP NET 成员资格数据库迁移到 SQL Azure https stackoverflow com questions 10140774 migrating asp net membersh

随机推荐

  • Java with ajax - ERR_EMPTY_RESPONSE - 服务器处理请求时 Ajax 响应抛出错误

    我在浏览器控制台中收到以下错误 无法加载资源 net ERR EMPTY RESPONSE 我的 ajax 调用适用于所有按钮点击 但是这个error仅用于一个按钮 可以说testExt按钮 单击这些按钮时 后台脚本将运行并执行一些测试 唯
  • 在 PHP 中将实例方法作为参数传递

    我想创建一个监听器类 class Listener var listeners array public function add callable function this gt listeners function public fu
  • Android应用程序中限时启用按钮

    这是一个示例 我希望能够在用户操作后在有限的时间内 假设 30 分钟 启用我的应用程序中的按钮 30 分钟后 此按钮将再次禁用 在 Android 中实现这一目标的最佳方法是什么 因为用户可能会重新启动设备或关闭应用程序 所以我不能简单地使
  • 如何使 LibGDX 桌面默认全屏显示

    我想知道如何使我的桌面应用程序在启动时全屏显示 我是 LibGDX 的新手 非常感谢任何帮助 谢谢 只需定义fullscreen你的领域LwjglApplicationConfiguration LwjglApplicationConfig
  • 使用 @require_POST 时如何在 Django 中显示 HTTP 状态 405(不允许的方法)的自定义错误页面

    我的问题很简单 当使用 Django 时 如何显示 HTTP 状态 405 方法不允许 的自定义错误页面 require POST装饰师 我正在使用django views decorators http require POST装饰器 当
  • 将 GregorianCalendar 与 SimpleDateFormat 结合使用

    因此 我一直在绞尽脑汁地思考这个 应该是 简单的练习 以使程序将日期字符串转换为GregorianCalendar对象 格式化它 完成后再次以字符串形式返回 这是程序的最后一点 它从文件中获取大量文本 将其分解为单独的记录 然后将记录分解为
  • 如何检查 ArrayList 是否包含另一个 ArrayList 的任何元素? [复制]

    这个问题在这里已经有答案了 有没有办法确定 ArrayList 是否包含不同 ArrayList 的任何元素 像这样 list1 contains any element of list2 正在循环遍历所有元素list2并一一检查元素是唯一
  • 两人网格穿越游戏

    Given a M N两名玩家的网格和位置p1 and p2在网格上 有 n 个球放置在网格上的不同位置 设这些球的位置为B 1 B 2 B 3 B n 我们需要计算曼哈顿最短距离需要挑选所有的球 应按升序挑选球 即如果B i 之前被挑选过
  • 如何以编程方式授予用户权限?

    我知道我可以授予权限 host 4502 useradmin 当我双击用户登录并转到Permissions tab 我想在部署内容包时授予权限 是否可以 当您向用户授予特定节点 路径的权限时 它基本上将权限存储在rep policy节点下面
  • 检查Python中的字符串是否只包含字母

    我有这种形式的字符串 字符串空间 字符串空间 字符串 test test test1 test2 test test1 我想要的是所有三个字符串都只有字母 如果没有则返回 false 我尝试了 isalpha 但没有给出正确的结果 哎呀 这
  • 如何增加sqlplus列输出长度?

    我有一些查询要从架构中找出某些对象的 ddl 我得到的结果列在查询中间被截断 如何增加列的宽度 我尝试过 SET SERVEROUTPUT ON SIZE 1000000 SET LINESIZE 50000 set pagesize 50
  • Google Play 商店:如何上传更多 APK 以支持不同的 CPU 架构

    我希望每个 APK 支持不同的 CPU 架构 例如 ARM x86 和 MIPS 如何上传更多APK 我已经切换到高级模式 但是将新 APK 上传到 Alpha按钮取代了以前的APK 附件是我的控制台在 APK 部分的外观 将感谢您的帮助
  • ts-node 找不到我的类型定义文件

    当我跑步时ts node node modules jasmine bin jasmine我收到这些错误 tsc globals ts 7 12 error TS2304 Cannot find name SugarcubeState 7
  • 单精度浮点无法表示的最小整数

    所以我知道单精度浮点不能表示的最小正整数是2 23 1 1 16 777 217 我们如何知道我们使用 2 23 1 1 我知道有一个隐含的 1 而 23 是尾数中表示的位数 但为什么会这样呢 我们怎么知道我们使用 2 23 1 1 IEE
  • 在运行时更改类属性中的值

    如果我有一堂这样的课 Attr Blah Data Blah public class Test SuperClass 有没有办法可以在运行时更改类实例的属性值 例如在伪代码中 SuperClass test new Test test A
  • 在不同数据库模式之间同步数据的最佳技术?

    我有一个现有的 SQL Server 2005 数据库 用于运行我们的会计 库存应用程序 我们正在考虑使用一个新的在线订购框架 它有自己的数据库 如果我们使用这个新框架 我们将需要几乎实时地将在线订购数据 库存 价格 订单 客户 传输到我们
  • 如何显示多个本地通知?

    我有一个消息应用程序 我正在使用VoIP notifications向用户发送确认 我每次都会发出本地通知PushKit delegate叫做 当前的情况是先前的通知被删除并被新的通知取代 有没有办法管理本地通知 以便用户可以在其设备中看到
  • 我可以使变量暂时不稳定吗?

    In PSoC http www cypress com psoc4 source CY ENG HEADER 可以在内存空间中声明变量 由于闪存读取速度比 RAM 读取速度慢 因此程序将受益于编译器优化 允许将值存储在寄存器中或以其他方式
  • Heroku、Shrine 和 Amazon S3:博客文章图像在一段时间后消失

    我有一个使用 Rails 5 1 开发的博客页面 一切工作正常 除了在我在制作中创建帖子并附加图像后 图像在一段时间 例如 30 分钟 后停止显示 我在互联网上寻找解决方案并看到this https shrinerb com rdoc cl
  • libvlc_new 在 vlc 2.1.3 中总是返回 null

    libvlc new 始终返回 null 我已将 libvlc dll 和 libvlccore dll 复制到解决方案目录的调试文件夹中 我们还尝试调用 libvlc new 0 null 并将环境变量 VLC PLUGIN PATH 设