我可以在虚拟机上使用Kinect API吗?

时间:2011-06-18 16:09:45

标签: kinect virtual-machine

This programming guide暗示这是可能的,所以我想到了什么。

但是现在,它不起作用。

主机操作系统是Vista 64位,VMWare Workstation 6.5.3运行Windows 7企业版32位。

VM上已安装的软件:

  • Visual C#2010 Express
  • Microsoft服务器语音平台运行时
  • Microsoft服务器语音识别语言 - Kinect
  • Microsoft Speech Platform SDK
  • 适用于Windows SDK Beta的Kinect

我插入Kinect,设备被VM识别,然后我运行Sample Shape Game,它无法识别设备。它说“插入Kinect并再试一次”,结果证明是错误0x80080014,这导致了 http://social.msdn.microsoft.com/Forums/en-US/kinectsdknuiapi/thread/4da8c75e-9aad-4dc3-bd83-d77ab4cd2f82/ 这让我有两件事要看:

  1. 是否使用特殊电缆插入?是
  2. 是设备管理器中的所有4个条目?无
  3. 在设备管理器中,我看到一个包含Microsoft Kinect Audio Control,Microsoft Kinect Camera和Microsoft Kinect Device的“Microsoft Kinect”组,但除了VMware VMaudio之外,“声音,视频和游戏控制器”下没有任何内容。应该有“Kinect USB Audio”。

    我猜我还有一些与VMWare USB /硬件选项有关的问题(无论是带有USB / CD / HD /软盘等图标的托盘)还是一些巧妙的重启组合(和un)堵塞,但我几乎没有热情。

    有什么想法吗? TIA

    编辑:我意识到我在OpenKinect的主机(Vista)系统上有一些挥之不去的驱动程序。删除后,我再也看不到VM中的Kinect了。 HMM。

7 个答案:

答案 0 :(得分:6)

read.me

上有这个

虚拟机:您必须在本机Windows环境中运行使用Kinect for Windows SDK Beta构建的应用程序。 适用于Windows应用程序的Kinect无法在虚拟机中运行,因为必须在运行该应用程序的计算机上安装Microsoft Kinect驱动程序和此SDK Beta。

答案 1 :(得分:1)

只是为了分享(不是真正理解的)VM Workstation 8在主机上运行7 x64,客户操作系统Ubuntu 10.04成功检测并安装了Kinect驱动程序。

我能够使用libfreenect(OpenKinect Project)http://openkinect.org/wiki/Getting_Started#Manual_Build_on_Linux

进行测试

最好的问候,

答案 2 :(得分:1)

我迟到了,但我们一直在运行和开发Kinect,Windows 7在Mac OS X Mountain Lion下的VMWare下运行。

答案 3 :(得分:0)

我不是计算机科学家,但我认为图灵表明普通的旅行机与物理硬件基本相同。我在相同的物理硬件上运行3或4个VM上的分布式COM +,但Kinect设备有所不同?我根本不买。

答案 4 :(得分:0)

最新版本的Microsoft Kinect for Windows(v1.6,可能稍微早一些版本)与“Kinect for Windows”硬件结合使用,可以在虚拟机中运行。我在MacBook Pro,Parallels 7和Windows 7上运行此设置。

请注意,Xbox的Kinect在虚拟机中工作。

答案 5 :(得分:0)

微软的

This page表示" Kinect for Windows"设备应该在VM中工作,但是" Kinect for XBOX"不起作用。

答案 6 :(得分:0)

首先,你需要安装两件事:

  1. libfreenect
  2. libusb
  3. 之后你应该在

    行设置三个标志为0x02

    typedef enum {FREENECT_DEVICE_MOTOR = 0x02,FREENECT_DEVICE_CAMERA = 0x02,FREENECT_DEVICE_AUDIO = 0x02,} freenect_device_flags;

    位于/usr/local/include/libfreenect libfreenect.h的头文件内,但您将无法控制移动,麦克风的使用将被禁用,因此甚至不会尝试访问它们,否则您的设备可能会受损还设置了

    #define PKTS_PER_XFER 32
    

    #define NUM_XFERS 6

    在linux Line的libfreenect/src/usb_libusb10.h文件中 之后通过

    重建你的libfreenect
    mkdir build 
    cd build cmake ..  
    make make install.
    

    比重新启动虚拟系统并在启动VM时仅插入和连接Kinect摄像头设备而不连接其他任何Kinect设备。当系统启动时,您可以通过切换到之前创建的libfreenect构建目录来测试您的设备是否正常工作,然后转到那里运行./freenect-camtest,如果没有或只有少量包丢失发生了很多损失尝试重新启动你的虚拟机,插入相机设备并已连接到你的虚拟机。您可能需要在启动期间主动断开连接并从VM连接Webcam以接收图像,这应该在VM Boottime的第一秒内完成!

    适用于Ubuntu 14.04和Workstation 10以及11和11.1 已安装HOST OS Windows 7和Kinect SDK以及适用于Windows的Kinectdevice 此外,如果您无法从Kinect接收图像,则通常需要重新启动虚拟系统。但是,如果您曾经收到图像,请不要拔掉设备,否则在重新启动连接了Kinect Camera的虚拟系统之前,您将无法获取数据。

    =>这实际上解决了这个问题,否则会丢失很多帧并且无法显示正确的图像!