我想做一个 gesture based PowerPoint slideshow . JavaScript肯定不会在这里工作,因为我希望我的幻灯片工作时,为Windows打开特定的PowerPoint文件(.ppt) .
我用谷歌搜索,在Leap Motion论坛上发布了一个问题,但是徒劳无功 . 我主要担心的是:
-
我不确定在这里使用什么 . 是否有一些用于此目的的SDK?简单来说,如何在我们的系统上为PowerPoint文件编写一些自定义代码? Leap Motion apps can be developed with C#, C++, Python, JavaScript, Java, Objective-C
-
将 Leap Motion device 的代码与上面的代码集成 .
如果你回答这两点中的任何一点都没关系 . 对不起,我无法发布任何代码,因为我对系统本身的基于PowerPoint的编程完全不熟悉 .
我对任何能让我完成任务的语言(C,C#,C,Java和Objective-C)持开放态度 . 有一些信息/代码的sugesstions肯定会有所帮助 .
我是PHP和JavaScript开发人员 . 我希望我很清楚,不会被误解 .
更新:
我找到LEAP Motion Controller Add-ins for Microsoft Office 2010/2013 (C#) .
4 回答
您找到的LEAP Motion Controller Add-ins for Microsoft Office可能是将控制器与Powerpoint集成的最佳方式 .
要开始使用它,你需要2012年) . Microsoft有一个Office Development in Visual Studio的概述页面 .
按照Configuring a Computer to Develop Office Solutions页面上的说明进行操作 .
下载Leap SDK for Windows,然后解压缩,然后在项目GestureLib.NET4.0的Visual Studio中,添加对LeapCSharp.NET4.0 dll的引用
对GestureListener.cs做一个简单的修复(在第44行使用IsEmpty) .
之后,您应该能够在Visual Studio中运行LEAP Motion Controller Add-in . 当你这样做时它会启动Powerpoint .
“VSTO”是您在此处使用的技术的名称,所以更多的是Google的“VSTO插件powerpoint” .
从source code for the Add-In开始,看起来你应该在Powerpoint的功能区上看到一个按钮,用于启动和停止Leap .
看看ThisAddIn.cs,一旦启动(通过按功能区上的按钮),控制器应该分别通过移动到下一个/上一个幻灯片来响应左右手势: -
GestureLib支持其他手势,您可以按照相同的模式执行某些操作 .
如果您的目标只是与PowerPoint演示文稿交互,那么一个简单的解决方案可能是使用BetterTouchTool .
它专为OS X设计,与Leap Motion Controller一起使用,它允许您将手势(由LM控制器捕获)映射到键盘快捷键,只要它是configured correctly,它就可以在后台运行时工作 .
基本上,应该可以在右箭头键上按下X手指向右滑动 - 这会将演示文稿推进到下一张幻灯片 . 等等 .
但是,如果您正在寻找程序化挑战/希望将其用于Airspace的应用程序,那么您可以使用类似Apache POI的Java API .
这是一个更复杂的解决方案,但它确实有它将在OS X上运行的好处 - 并且需要你使用一些代码:) .
似乎最简单的解决方案是遵循exporting the slides in to images的示例 . 您现在拥有一组图像 - 每个PowerPoint幻灯片一个 . 这为您提供了很多选择,例如
您可以将此数据视为内存数据库(和Web服务),然后返回到PHP和JS的舒适区域,并使用Leap Motion Controller的JS API捕获手势,从根本上驱动在线图片库 .
您可以使用Java API开发纯Java解决方案,以从Leap Motion Controller捕获手势并使用Swing / JavaFX或使用JSF在浏览器中显示数据 .
一个非常简单的解决方案可能如下所示:
基于LeapMotion API构建基本的C#应用程序(您可以使用来自SDK的C# example app) . 必须允许此应用程序在后台运行 . 它连接到LeapMotion并等待手势 . 它提供了一个.NET远程处理接口(参见here以获得一个简单的示例)并为每个有趣的手势引发一个事件(请参阅here以获取具有远程处理的事件示例) . 当您使用示例应用程序时,只需将一些
SafeWriteLine(...)
替换为引发相应的事件即可 .使用C#构建办公室加载项(只需使用NetOffice,它是free) . 此加载项从步骤1启动后台应用程序,连接远程处理并等待事件 .
当加载项获取事件时,它会触发PowerPoint中的相应操作(例如,
presentation.GotoSlide(presentation.Slides.Count)
) .PowerPoint和所有办公工具都支持visual basic .net宏 . 只需为您的ppt文件编写一个vb宏,该文件识别手势并触发页面更改操作 . 这就够了 .
如果你愿意,可以在你的vb.net宏中集成跳跃动作的C#代码