首页 文章

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

提问于
浏览
11

This programming guide意味着这是可能的,所以我想到了什么 .

但是现在,它不起作用 .

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

VM上安装的软件:

  • Visual C#2010 Express

  • Microsoft Server语音平台运行时

  • Microsoft服务器语音识别语言 - Kinect

  • Microsoft语音平台SDK

  • 适用于Windows SDK Beta的Kinect

我插入Kinect,设备被VM识别,然后我运行Sample Shape Game,它无法识别设备 . 它说"Plug in the Kinect and try again",结果是错误0x80080014,这导致了http://social.msdn.microsoft.com/Forums/en-US/kinectsdknuiapi/thread/4da8c75e-9aad-4dc3-bd83-d77ab4cd2f82/,这让我有两件事要看:

  • 是否用特殊电缆插入?是

  • 是设备管理器中的所有4个条目?没有

在设备管理器中,我看到一个包含Microsoft Kinect Audio Control,Microsoft Kinect Camera和Microsoft Kinect Device的“Microsoft Kinect”组,但除VMware VMaudio之外,“声音,视频和游戏控制器”下没有任何内容 . 应该有“Kinect USB Audio” .

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

有任何想法吗? TIA

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

7 回答

  • 0

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

    请注意,Kinect for Xbox在虚拟机中不起作用 .

  • 0

    来自Microsoft的This page表示"Kinect for Windows"设备应该在VM中运行,但是"Kinect for XBOX"不起作用 .

  • 0

    read.me上有这个

    虚拟机:您必须在本机Windows环境中运行使用Kinect for Windows SDK Beta构建的应用程序 . Kinect for Windows applications cannot run in a virtual machine ,因为必须在运行应用程序的计算机上安装Microsoft Kinect驱动程序和此SDK Beta .

  • 1

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

    我能用libfreenect(OpenKinect Project)测试它http://openkinect.org/wiki/Getting_Started#Manual_Build_on_Linux

    最好的祝福,

  • 0

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

  • 1

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

  • 6

    首先,您只需要安装两件事:

    • libfreenect

    • libusb

    之后,您应该在该行设置三个标志为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插入相机设备并已连接到您的虚拟机 . 您可能需要在启动期间主动断开连接并从VM连接Webcam以接收图像,这应该在VM Boottime的第一秒内完成!

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

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

相关问题