【问题标题】:PowerPoint SlideShowSettings.Run() does not run embedded videoPowerPoint SlideShowSettings.Run() 不运行嵌入视频
【发布时间】:2011-03-05 12:57:28
【问题描述】:

我有一个 C# 应用程序,它在连接到我们自助餐厅的大型显示器的计算机上运行。该应用程序将所有 PowerPoint 文件从一个文件夹中拉出,并以幻灯片的形式连续运行每个文件。一切正常,直到有人决定将影片剪辑插入幻灯片。问题是电影永远不会开始。如果在 PowerPoint 中打开演示文稿并运行它可以工作,如果我右键单击演示文稿并单击“显示”它可以工作。这是我用来打开演示文稿并开始幻灯片放映的代码。

pres = app.Presentations.Open(pptPath, MsoTriState.msoTrue, MsoTriState.msoTrue, MMsoTriState.msoFals);
pres.SlideShowSettings.Run();

我还需要设置什么东西才能让Run() 方法也开始播放电影吗?

编辑:有问题的演示文稿中只有一张幻灯片,其中包含电影。如果我向它添加另一张幻灯片,它工作正常。之前也尝试过添加幻灯片,但遇到了同样的问题,所以显然问题只存在于演示文稿中的最后一张幻灯片。

【问题讨论】:

    标签: c# powerpoint slideshow movie embedded-video


    【解决方案1】:

    这里的主要问题是 PowerPoint 动画(视频、音频、自定义运动路径等)仅在 SlideShowWindow 获得焦点时才会播放。这意味着当您运行应用程序并启动 PPT 时,您的应用程序仍然保持焦点,因此动画不会运行(但这并不会阻止您手动操作运行卡组)。

    有几种方法可以解决这个问题:

    1. 您可以调用APISetWindow来 将您的SlideShowWindow 带到 正面。不是一个很好的方法 我的意见。
    2. 最简单的方法就是保存 你的 .ppt/.pptx 到 .pps/.ppsx (幻灯片放映)。有了这个,你 可以使用相同的代码来运行它 它将启动并成为焦点 自动(并且您的动画 [视频等)将按照您的预期运行)。

    【讨论】:

    • 已经设置为自动播放。如果我手动运行幻灯片,一切正常。当我使用问题中的代码运行幻灯片并且电影在演示文稿的最后一张幻灯片上时,我只会遇到问题。
    • @AdmSteck。好的,明白了。我有一些好消息和坏消息要告诉你。答案已更新。
    【解决方案2】:

    发现问题。我在演示文稿的app_SlideShowNextSlide 事件处理程序中有一个thread.sleep 语句,它处理一个幻灯片的结束并开始下一个。当时我没有想到,这段代码在幻灯片本身的同一个线程中运行。我创建了一个计时器对象,并将必要的代码移动到计时器的elapsed 事件处理程序中。

    【讨论】:

      猜你喜欢
      • 2016-09-30
      • 1970-01-01
      • 2012-02-05
      • 1970-01-01
      • 1970-01-01
      • 2019-04-01
      • 2019-08-28
      • 1970-01-01
      • 2016-01-15
      相关资源
      最近更新 更多