PowerPoint C# VSTO中MP4播放控制、自动切页及状态获取问询
PowerPoint视频编程:状态获取与自动切换方案
需求说明:已通过代码在PPT幻灯片中添加MP4视频,希望实现:视频播放完毕自动切到下一张幻灯片,且下一张的视频自动启动;同时需要获取当前视频的运行/停止状态。
获取视频播放状态的关键属性:
直接用你创建的shape对象的MediaPlayer.State属性就能拿到状态,它返回PpMediaState枚举值,常用的几个状态:ppMediaStatePlaying:视频正在播放ppMediaStateStopped:视频已停止ppMediaStatePaused:视频处于暂停状态
实现自动切换+续播的思路:
- 给每个视频的
MediaPlayer.MediaEnded事件绑定处理方法——这个事件会在视频播放结束时触发 - 在事件处理方法里,调用
ActiveWindow.View.GotoSlide(当前幻灯片.Index + 1)切换到下一张 - 切换完成后,找到下一张幻灯片里的视频形状,调用它的
MediaPlayer.Play()方法启动播放
- 给每个视频的
状态判断代码示例:
// 获取当前视频状态 PpMediaState videoState = shape.MediaPlayer.State; // 根据状态做对应处理 if (videoState == PpMediaState.ppMediaStatePlaying) { // 视频正在播放时的逻辑 } else if (videoState == PpMediaState.ppMediaStateStopped) { // 视频停止后的逻辑 }
内容的提问来源于stack exchange,提问作者At Work
相关产品推荐
相关产品推荐

