Kinect初始化错误(本机DLL失败.HRESULT = 0x8004022b。)

时间:2012-06-04 21:58:07

标签: c# dll initialization kinect hresult

我已经使用kinect XBOX 360进行了一段时间的开发。 今天,连接不同的kinect设备(XBOX 360)后,我开始收到错误 在初始化线上:

 kinect.Initialize(RuntimeOptions.UseSkeletalTracking | RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseColor);

我得到的错误:

  

本机DLL失败。 HRESULT = 0x8004022b。

并且堆栈跟踪显示:

  

at Microsoft.Research.Kinect.Nui.SkeletonEngine..ctor(Runtime mainNui,CINuiInstanceHelper nuiInstance)

我已经尝试过了:

  1. 重新安装所有与kinect相关的驱动程序并重新启动。
  2. 切换回我正在使用的旧kinect传感器。
  3. 重新安装kinect sdk(版本i' m使用的是:Microsoft Kinect 1.0 Beta2 SDK v.1.0.0.45
  4. 以下链接 - http://social.msdn.microsoft.com/Forums/en-US/kinectsdk/thread/5b9ffac3-86c0-4147-a6c7-f8e4bbc73c56 - 讨论如何查找注册表项,但我无法理解如何执行此操作。
  5. 根据此链接 - http://msdn.microsoft.com/en-us/library/ms919477.aspx,这是一个错误代码:

      

    VFW_E_SAMPLE_REJECTED无法呈现此示例。 0x8004022B 555

  6.      有没有办法用它来解决问题?

    我正在运行win7 64位。

4 个答案:

答案 0 :(得分:2)

尝试使用Kinect for Windows SDK 1.5。它已经出了几个星期了。

API应该与1.0 beta中的相同,但是在using时,您必须更改某些命名空间的名称。

此外,您仍然可以使用Kinect for Xbox360进行开发,除非您想使用近距离模式进行深度采集。

答案 1 :(得分:2)

就像Chris Ortner所说,你应该切换到完整版,因为它更有效率。你可以找到它here。如果您担心必须转换所有代码,请查看herehere。如果您担心转换代码getDisplayPosition,请参阅Converting Kinect Methods from Beta 2, to Version 1。如果您需要更多帮助转换,请问!希望这有帮助!

答案 2 :(得分:1)

我有这个错误。这与驱动程序或版本无关。

Kinect传感器使用大量USB带宽,因此必须将其置于自己的USB控制器上。尝试不同的USB端口,直到它工作。您可以使用“设备管理器”查看哪些设备位于哪些控制器上:查看>设备连接。

答案 3 :(得分:0)

非常感谢你的帮助。

我宁愿不改变为时间轴的窗口kinect。 由于this link就像魅力一样,我能够解决这个问题。 解决此问题的步骤是: 1.从所有USB端口卸载所有kinect驱动程序。 2.卸载kinect sdk。 3.重新安装Kinect SDK。 4.Disabled网络适配器。 5.插入kinect传感器。

我们的想法是重新安装所有驱动程序并阻止它从Windows Update获取驱动程序。

感谢您的帮助。

谢谢, 乌迪德