Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# PowerPoint SlideShowSettings.Run()不运行嵌入式视频_C#_Powerpoint_Slideshow_Movie_Embedded Video - Fatal编程技术网

C# PowerPoint SlideShowSettings.Run()不运行嵌入式视频

C# PowerPoint SlideShowSettings.Run()不运行嵌入式视频,c#,powerpoint,slideshow,movie,embedded-video,C#,Powerpoint,Slideshow,Movie,Embedded Video,我有一个C应用程序,它运行在一台连接到自助餐厅大显示屏的计算机上。应用程序将所有PowerPoint文件从文件夹中取出,并将每个文件作为幻灯片连续运行。一切正常,直到有人决定在幻灯片上插入电影剪辑。问题是这部电影从未开始。如果在PowerPoint中打开演示文稿并运行演示文稿,则演示文稿有效;如果我右键单击演示文稿并单击“显示”,则演示文稿有效。下面是我用来打开演示文稿并开始幻灯片放映的代码 pres = app.Presentations.Open(pptPath, MsoTriState.m

我有一个C应用程序,它运行在一台连接到自助餐厅大显示屏的计算机上。应用程序将所有PowerPoint文件从文件夹中取出,并将每个文件作为幻灯片连续运行。一切正常,直到有人决定在幻灯片上插入电影剪辑。问题是这部电影从未开始。如果在PowerPoint中打开演示文稿并运行演示文稿,则演示文稿有效;如果我右键单击演示文稿并单击“显示”,则演示文稿有效。下面是我用来打开演示文稿并开始幻灯片放映的代码

pres = app.Presentations.Open(pptPath, MsoTriState.msoTrue, MsoTriState.msoTrue, MMsoTriState.msoFals);
pres.SlideShowSettings.Run();
我是否还需要设置一些其他设置,以使Run方法也可以启动电影


编辑:讨论中的演示文稿只有一张幻灯片,其中包含了电影。如果我再加一张幻灯片,效果很好。以前也尝试过添加幻灯片,但遇到了相同的问题,因此问题显然只存在于演示文稿中的最后一张幻灯片。

这里的主要问题是PowerPoint动画视频、音频、自定义运动路径等仅在幻灯片窗口有焦点时才会播放。这意味着,当你运行你的应用程序并启动PPT时,你的应用程序仍然保持着焦点,因此动画不会运行,但这不会阻止你手动操纵你的跑步平台

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

您可以调用API SetWindow来 将您的幻灯片窗口带到 正面这不是一个很好的方法 我的意见。 最简单的方法就是省钱 将.ppt/.pptx转换为.pps/.ppsx 幻灯片秀。有了这个,你 可以使用相同的代码运行它,并且 它将启动并获得关注 自动运行,您的动画[视频等]将按预期运行。
发现问题。我在演示文稿的app_SlideshowExtSlide事件处理程序中有一个thread.sleep语句,该语句处理一个幻灯片放映的结束和下一个幻灯片放映的开始。我当时没有思考,该代码在幻灯片放映本身的同一线程中运行。我创建了一个计时器对象,并将必要的代码移到了ti中mer的已用事件处理程序。

它已设置为自动播放。如果我手动运行幻灯片,一切正常。我只有在使用问题中的代码运行幻灯片时出现问题,并且电影已在演示文稿的最后一张幻灯片上。@AdmSteck。好的,明白了。我有一些好消息和坏消息要告诉你。答案已确定过时的