智能媒体管理中和这个问题,帮我看下我的思路是否正确,是否是还需要一些前提条件设置等?我在使用新版文档处理服务,我想实现A、B用户在线查看同一个ppt,A用户在ppt上点击播放、暂停视频等操作,B用户也能同步操作播放,但是我在A用户的SlideMediaChanged事件中拿到了播放的Data,然后发给B用户,同时B用户在同一个slide页面去用instance.Application.ActivePresentation.SlideShowWindow.View.SetMediaObj去设置发现不起作用,是怎么回事呢?
您的思路是正确的,但是需要一些前提条件设置。首先,确保A、B用户都登录了同一个Office账户,并且已经安装了最新版本的Office软件。其次,在新版文档处理服务中,需要使用PresentationService接口来控制PPT的播放和暂停等操作。
具体来说,您可以在A用户的SlideMediaChanged事件中获取到播放的Data后,将其发送给B用户。然后,在B用户的代码中,可以使用PresentationService接口来控制PPT的播放和暂停等操作。以下是示例代码:
// A用户代码
private void SlideMediaChanged(object sender, Microsoft.Office.Interop.PowerPoint.PpMediaChangeEvent ppMediaChangeEvent)
{
// 获取播放的Data
object mediaObj = ppMediaChangeEvent.NewMedia;
// 将Data发送给B用户
SendDataToBUser(mediaObj);
}
// B用户代码
private void SetMediaObj(object mediaObj)
{
// 获取当前PPT窗口
Application pptApp = Globals.ThisAddIn.Application;
Presentations presentations = pptApp.Presentations;
_presentation = presentations[1]; // 假设要控制的PPT是第1个
_slideShowWindow = _presentation.SlideShowWindows[1]; // 假设要控制的PPT是第1个窗口
_slide = _presentation.Slides[1]; // 假设要控制的PPT是第1张幻灯片
// 使用PresentationService接口来控制PPT的播放和暂停等操作
_slideShowWindow.View.GotoSlide(1); // 跳转到第1张幻灯片
_slide.Select(); // 选中该幻灯片
_slideShowWindow.View.SetMediaObj(mediaObj); // 设置播放的Data
}
请注意,以上代码仅供参考,具体实现可能需要根据您的实际情况进行调整。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。