dilulu 发表于 2016-4-12 12:24:11

能否在ppt中播放视频文件时自动在某一时刻暂停?

我需要在在ppt中插入一段wma格式的视频,大约三分钟,我需要播放到一分钟时自动暂停十(可调)秒,能否实现,望高人指教,谢谢!!

ljlmmcl 发表于 2016-4-12 13:27:04

应该可以的吧
以对象方式插入mediaplayer,在Powerpoint中成为控件如WindowsMediaPlayer1后,给几个按钮赋上动作,让WindowsMediaPlayer1的属性改变即可,
至于时间问题,可以取这个视频的帧数看看,也可以从开始时采集一个时间,待放到n分钟后再作命令。
具体的楼主可以参考help。
刚才我写了几句,实现前进后退暂停快进快退等功能

document.body.clientWidth*0.5) {this.resized=true;this.width=document.body.clientWidth*0.5;this.style.cursor='pointer';} else {this.onclick=null}" alt="" />

chen1381861 发表于 2016-4-12 13:37:50

谢谢c81,我不是想用按钮来控制视频,这倒不难,我想让视频自动在1分钟停下,在ppt中用一小段文字说明一下,过几秒钟再自动接着播放,能稍详细说明一下,谢谢!

9836498162495 发表于 2016-4-12 13:39:45

本人不是很懂vba,在网上狂搜一番,找到一个方法,结合c81兄的办法,得到以下语句:
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Sub CommandButton1_Click()
wmp1.Controls.Play
Dim Savetime As Double
Savetime = timeGetTime
While timeGetTime < Savetime + 20000
DoEvents
Wend
wmp1.Controls.pause
Savetime = timeGetTime
While timeGetTime < Savetime + 5000
DoEvents
Wend
wmp1.Controls.Play
End Sub
再次感谢c81兄!

user_unfch 发表于 2016-4-12 13:41:38

感谢zyhqzn的辛勤劳动,让我们又有了一个学习的机会。尤其是对Doevents函数,本人觉得它很抽象,这次看了这个例子,对它有了更直观的了解。不过,也许是未测试的缘故,宏里面有两处错误,不能运行。现把它修改如下,楼主可拿去一试:
Private Sub CommandButton1_Click()
    WindowsMediaPlayer1.Controls.Play
    Start = Timer
    While Timer < Start + 60
      DoEvents
    Wend
    WindowsMediaPlayer1.Controls.pause
    While Timer < Start + 70
      DoEvents
    Wend
    WindowsMediaPlayer1.Controls.Play
End Sub
上述宏是为控件按钮写的,如果不想添加控件按钮,可把这段宏写在MediaPlayer控件的Click事件里面,则幻灯片放映过程中,当单击MediaPlayer控件的视频窗口时即开始播放,并在所设置的时间点上自动暂停。(若采用此方法,可在MediaPlayer控件的属性设置里将“控件布局”设置为“None”。)

user_talce 发表于 2016-4-12 14:58:42

不好意思,刚才没注意到4楼作者就是楼主本人,见谅!不过,楼主的宏运行成功了吗?里面有问题的呀。

lixi19901223 发表于 2016-4-12 15:29:57

感谢cqdanielzh朋友:
我的这段我也不大懂,我从网上找来的,修改了一下,可以控制
你的这段程序我感觉好像不能使视频暂停,好像有问题。
我感觉这不是很好的方法,好像使系统停顿了,而我想只使视频停顿。

user_lcjhe 发表于 2016-4-12 15:52:21

谢谢zyhqzn兄。四楼的帖子现在能看懂了(只是还差对wmp1变量的赋值)。你用的这段宏里面引用了Api函数timeGetTime(我也是才弄明白的),比我的宏里面的Timer函数精度要高(timeGetTime是以毫秒为单位的,精度为1/1000,取的是系统开机以来所逝去的时间;Timer函数是以秒为单位的,精度为1/100,取的是自零时以来所逝去的时间.)我的这段宏应该是可行的(我在我的机器上测试是通过了的),也许中间有什么岔子,已不重要。
系统停顿的现象我没有发现,只是在PPT放映窗口中键盘被禁用了(鼠标还是能用的),对其他程序好像没什么影响。另外,由于在While循环中不停地执行DoEvents语句,CPU占用很高(我的奔III笔记本上是100%)。
再次谢谢zyhqzn兄,你的问题和帖子让我学了不少东西。

ap2br7iu0vy 发表于 2016-4-12 16:15:28

感谢cqdanielzh朋友:
wmp1是我在ppt中对插入的控件的命名(在控件属性中)。

user_vyhpj 发表于 2016-4-12 16:43:51

哈!原来如此。妙法呀。受教了,many thanks!
页: [1]
查看完整版本: 能否在ppt中播放视频文件时自动在某一时刻暂停?