播放幻灯片powerpoint下载幻灯片方法

&&& 有了Kinect,我们就可以使用手势来控制幻灯片的播放,而不需要一边演讲一遍按键盘或者手持一个ppt控制器,我们只需要做的就是轻轻的向右或者向左挥一下手就可以控制幻灯片向前或者向后翻一页,酷吧。虽然可能在演讲的时候做这个动作可能有点奇怪,但是这也是一种控制幻灯片放映的好方法。
&&& 实现Kinect控制幻灯片播放很简单,主要思路是:使用Kinect捕捉人体动作,然后根据识别出来的动作向系统发出点击向前,向后按键的事件,从而使得幻灯片能够切换。 这里的核心功能在于手势的识别,我们在开发之前需要定义怎么样的手势算是向前或者向后切换幻灯片。手势和姿势识别在我的Kinect开发入门,,篇文章有详细介绍。本文仅讨论主要思路及关键代码部分。
一 通过姿势识别实现ppt控制
&&& 是通过关节点与关节点之间的相对位置关系来进行判断,相对来说比较容易,只需要通过某一帧骨骼关节点数据即可进行判断。而手势(gesture)识别则是通过对连续的一段时间内的动作来进行判断,比较复杂。但是两者对于我们需要实现特定的目的来说并没有优劣之分,就像常用的算法那样,并不是越复杂越好,有些方法就非常简单高效。
&&& 在控制ppt播放命令中,我们设定,如果右手关节点在x轴上的距离比头部关节点大于0.45的话,认为用户试图进行点击键盘上的right按钮。如果头部关节点位置在x轴方向是比左手关节点在x轴上的位置大于0.45的话,认为用户试图点击键盘上的left按钮。0.45这个值是通过反复试验的出来的,这种通过试验的方法在Kinect开发中比较常见。关键代码如下:
private void ProcessForwardBackGesture(Joint head, Joint rightHand, Joint leftHand)
if (rightHand.Position.X & head.Position.X + 0.45)
if (!isBackGestureActive && !isForwardGestureActive)
isForwardGestureActive = true;
System.Windows.Forms.SendKeys.SendWait("{Right}");
isForwardGestureActive = false;
if (leftHand.Position.X & head.Position.X - 0.45)
if (!isBackGestureActive && !isForwardGestureActive)
isBackGestureActive = true;
System.Windows.Forms.SendKeys.SendWait("{Left}");
isBackGestureActive = false;
&&& 上面的代码中,当判断到用户向右挥手动作是,执行System.Windows.Forms.SendKeys.SendWait("{Right}")语句从而发出点击键盘向右按键; 该方法执行时,要求PowerPoint程序处于当前活动的状态,这样里面的PPT才会向右键盘点击事件。需要注意的是方法中isBackGestureActive和isForwardGestureActive这两个布尔型的标志位,可以防止当用户一直处于某一个动作时会一直发送System.Windows.Forms.SendKeys.SendWait("{xx}")。
&&& 上面的方法可以放在sensor_SkeletonFrameReady事件中,首先获取头部,左手右手关节点数据,然后调用该方法。
void sensor_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
using (var skeletonFrame = e.OpenSkeletonFrame())
if (skeletonFrame == null)
if (skeletons == null ||
skeletons.Length != skeletonFrame.SkeletonArrayLength)
skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];
skeletonFrame.CopySkeletonDataTo(skeletons);
Skeleton closestSkeleton = (from s in skeletons
where s.TrackingState == SkeletonTrackingState.Tracked &&
s.Joints[JointType.Head].TrackingState == JointTrackingState.Tracked
select s).OrderBy(s =& s.Joints[JointType.Head].Position.Z)
.FirstOrDefault();
if (closestSkeleton == null)
var head = closestSkeleton.Joints[JointType.Head];
var rightHand = closestSkeleton.Joints[JointType.HandRight];
var leftHand = closestSkeleton.Joints[JointType.HandLeft];
if (head.TrackingState != JointTrackingState.Tracked ||
rightHand.TrackingState != JointTrackingState.Tracked ||
leftHand.TrackingState != JointTrackingState.Tracked)
//Don't have a good read on the joints so we cannot process gestures
ProcessForwardBackGesture(head, rightHand, leftHand);
&&& 通过姿势识别来进行幻灯片控制简单高效,但是也存在着两个主要问题:
&&& 首先是,如果幻灯片中嵌套有视频,flash或者其他多媒体要素的话,可能不能很好的控制这些要素的播放和暂停,一种处理办法是使用动画,使得用户在点击键盘显示多媒体的时候就开始播放。还有一种方法是使用VSTO编写针对PowerPoint的插件,来监听鼠标来控制多媒体播放。
&&& 其次是误操作问题,这个问题是使用基于姿势识别存在的最大问题。有时候可能出于肢体语言表达需要,可能需要张开双臂,或者弯下腰来捡东西,这样会使得头部关节点位置和手部关节点位置的相对关系可能会满足之前我们设定的距离,从而产生误操作。
&&& 使用姿势识别的第一个问题是一个普遍存在的问题,即使使用ppt控制器也存在该问题,ppt控制器似乎也是通过发送键盘点击事件来进行幻灯片控制的。第二个问题可以使用手势识别的方式来在一定程度上避免。
二 通过手势识别实现ppt控制
&&& 手势识别通过判断在一定时间内一系列连续的动作之间的前后相关关系来进行动作的识别,在篇 文章中对swip这一动作如何识别有详细介绍。在Kinect for Windows Developer ToolKit v 1.5中,增加了一个名为Slideshow Gesture-WPF的例子。
&&& 我们可以直接打开其源代码,可惜的是,其中的挥动手势识别代码被封装在了一个名为Microsoft.Samples.Kinect.SwipeGestureRecognizer的dll中,
使用Reflector可以查看其实现方式,大体的原理和我之前篇文章中相似,不过其提供了基于手势库的识别方式,以后我会详细介绍,在这里我们可以直接使用该dll提供的方法。
&&& 要使用该dll提供的手势识别,必须先创建一个Recognizer对象。然后初始化改Recognizer。在初始化的时候注册左右挥动识别后进行的操作,该操作可以通过方法提供,由于方法体比较小,这里使用lambda表达式。
private readonly Recognizer activeR
this.activeRecognizer = this.CreateRecognizer();
private Recognizer CreateRecognizer()
// Instantiate a recognizer.
var recognizer = new Recognizer();
// swipe right to
press right key .
recognizer.SwipeRightDetected += (s, e) =&
System.Windows.Forms.SendKeys.SendWait("{Right}");
// swipe left to
press left key ..
recognizer.SwipeLeftDetected += (s, e) =&
System.Windows.Forms.SendKeys.SendWait("{Left}");
然后在sensor_SkeletonFrameReady事件中调用即可
private Skeleton[] skeletons = new Skeleton[0];
private void sensor_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
// Get the frame.
using (var frame = e.OpenSkeletonFrame())
// Ensure we have a frame.
if (frame != null)
// Resize the skeletons array if a new size (normally only on first call).
if (this.skeletons.Length != frame.SkeletonArrayLength)
this.skeletons = new Skeleton[frame.SkeletonArrayLength];
// Get the skeletons.
frame.CopySkeletonDataTo(this.skeletons);
// Pass skeletons to recognizer.
this.activeRecognizer.Recognize(sender, frame, this.skeletons);
&&& 把上面的代码放到程序中,运行即可看到使用左手向左挥手,使用右手向右挥手即可控制幻灯片向左向右切换。如前面的文章所述,使用手势识别动作有一个时间阈值和一定的规则,如果该动作在某一时间内没有完成则识别失败。所以在本例中,如果挥手动作过慢,可能导致识别不出。而不像之前使用姿势识别例子中的那样,只需保持某个动作即可完成识别操作,这在一定程度上减少了第一种情况下出现误识别的概率。
&&& 运行效果如下:
&&& 本文介绍了使用Kinect实现控制ppt播放的两种方法,一种是基于姿势识别一种是基于手势识别,并介绍了这两种方法的优缺点以及实现的部分代码。其实利用Kinect完全可以实现常用ppt控制器上的功能,比如说LED指示灯,使用Kinect也可以实现该功能,就是把用户手势所在的位置映射到屏幕上,并以红色显示。当然仅当娱乐的话,您也可以使用语音来控制PPT的播放。相信您看了之前我写的一些文章在加上上面给出的代码,实现Kinect控制幻灯片播放应该很容易了。这里就不提供原代码了。希望本文对您了解Kinect中的姿势和手势识别有所帮助。
阅读(...) 评论()您当前所在位置: >
视频ppt自动播放设置的方法
大家知道ppt自动播放设置吗?下面我们就给大家详细介绍一下吧!导入视频并设置自动播放:点击&插入&,在下拉菜单中选择&影片&中的&文件中的影片(F)...&,打开文件夹找到需要视频文件,点击&确定&,将视频导入到幻灯片上。PPT支持添加的视频格式有avi、mpg、wmv、asf等。如图所示,添加了avi格式的视频文件。
上一步完成后,会弹出一个Microsoft Office Powerpoint对话框,显示&您希望在幻灯片放映时如何开始播放影片?& 这里就选择点击&自动(A)&。这样添加的视频会自动播放了。在幻灯片中,用鼠标选中视频文件,并将它移动到合适的位置。
还有另一个途径可以设置视频,步骤:点击&动画&,在下拉菜单中选择&自定义动画&,在右边会出现一个自定义动画编辑栏。选中视频文件,然后打开下拉菜单,如图所示,可以设置效果、计时、出现顺序等。
点击&更改&的&影片操作&项,可设置视频的播放、暂停、停止。自己可以试下。
相信大家已经学会ppt自动播放设置了吧!感谢大家对我们网站的支持!
相关推荐:
频道热门推荐
栏目最新更新你可能感兴趣的文章
很多朋友都问我如何制作PPT模板,其实制作PPT模板是非常简单的,重要的是如何制作出有...
我们经常会在网络上下载一些PPT幻灯片,但是下载下来却发现这些幻灯片里面有大量的备...
制作幻灯片的时候我们希望将一些照片或图片插入到各种圆形,方形或其他形状中,来达到...
今天我们再来讲解下如何将多个幻灯片合成一个幻灯片。经常设计幻灯片的朋友一定遇到过...
52虎 问:虎哥大大,请问下,我在办公室里扫描的JPG格式图片,该怎么合成一个PDF文件...如何让IE自动全屏播放PPT_IE_PPT_
如何让IE自动全屏播放PPT默认情况下在IE中打开链接中的PPT或PPS文件时无法自动全屏播放,请问怎样设置可以让IE自动播放网上的PPT文件?
打开“我的电脑”,单击“工具→文件夹选项”,在“文件夹选项”对话框中,点击“文件类型”选项卡,用鼠标拖动右侧的滚动条,找到扩展名为“PPT”的文件类型后,选中该名称,单击“高级”。在弹出的“编辑文件类型”对话框中,将“下载后确认打开”及“在同一窗口中浏览”复选框取消,单击“确定”。用相同的方法,设置PPS文件类型的属性,即可实现在IE浏览器中自动全屏播放PPT及PPS文件。转载请注明出处◆◆转载自 &a href="/p/2i9i.htm" title="如何让IE自动全屏播放PPT"&如何让IE自动全屏播放PPT_IE_PPT_&/a&精选阅读关键词阅读如何使用PPS播放历史如何使用PPS播放历史?... #1PPS在线播放时的PPSAP.exe进程有什么用用PPS在线播放时,出现PPSAP.exe进程对系统有影响吗?... #2WINODWS XP SP2不能顺畅观看PPS播放的节目怎么办WINODWS XP SP2不能顺畅观看PPS播放的节目怎么办?... #3PPS网络电视为什么缓冲到100%不能播放PPS网络电视为什么总是缓冲到100%不能播放?... #4KMPlayer全屏播放时看不到图像我使用Kmplayer放电影时,开始的时候还好,一旦使用全屏播放,就只有声音看不到图像。不管是RMVB,还是... #5如何让IE下载或直接打开某类型的文件在IE中打开包含Word文件、PDF文件,有些弹出提示下载的窗口,而另一些则在IE中显示了文件内容。在第一次遇到这种情况的时候,系统会... #6精简掉IE浏览器后重装总是出错怎么办仍然在使用WinXP,之前使用nLite将IE浏览器组件精简掉了,现在又需要IE浏览器,在安装时总是显示错误。请问如何重... #7如何压缩PPT幻灯片中图片的体积我用PowerPoint制作幻灯片添加图片后,往往文件体积会非常大,请问有没有办法可以压缩下?... #8热门推荐12345678910热门关键词随机推荐
| Copyright (C)&&2007 - 2015&&&&All Rights Reserved<&&&版权所有&&&蜀ICP备号-1 |  |  | 
您所在的位置: &
> PPT如何自动播放
PPT如何自动播放
17:10:53  来源:互联网   次阅读
有时候我在放映一些展示型的PPT时,我们希望能不用点击就自动的播放,自动的翻译,自动的循环。
现在小编就用PPT 2007来讲解下这个效果的实现。
首先得保证PPT中效果的切换不是鼠标点击的。
1、打开PPT2007,动画――自定义动画,右边的效果属性都是选择“之后”。这样PPT就是连续的自动换效果,而不是点击换效果。
&2、对于每一页PPT的切换,动画――切片方式,将上面的切换时间设置类似3秒,然后点击全部应用,当然你也可以对没有页面设置不同的切换时间。
3、预览播放PPT的时候就不用点击,而是自动播放并且是循环的,对于一些要循环展示的PPT可以达到想要的效果了。
共有人发表了观点,请选择你的观点:
大家都在看
网友在3分钟点赞了
网友在6分钟点赞了
网友在49分钟点赞了
网友在1小时点赞了
网友在1小时点赞了

我要回帖

更多关于 powerpoint幻灯片教程 的文章

 

随机推荐