能否在ppt中播放视频文件时自动在某一时刻暂停?
我需要在在ppt中插入一段wma格式的视频,大约三分钟,我需要播放到一分钟时自动暂停十(可调)秒,能否实现,望高人指教,谢谢!! 应该可以的吧以对象方式插入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="" /> 谢谢c81,我不是想用按钮来控制视频,这倒不难,我想让视频自动在1分钟停下,在ppt中用一小段文字说明一下,过几秒钟再自动接着播放,能稍详细说明一下,谢谢! 本人不是很懂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兄! 感谢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”。) 不好意思,刚才没注意到4楼作者就是楼主本人,见谅!不过,楼主的宏运行成功了吗?里面有问题的呀。 感谢cqdanielzh朋友:
我的这段我也不大懂,我从网上找来的,修改了一下,可以控制
你的这段程序我感觉好像不能使视频暂停,好像有问题。
我感觉这不是很好的方法,好像使系统停顿了,而我想只使视频停顿。 谢谢zyhqzn兄。四楼的帖子现在能看懂了(只是还差对wmp1变量的赋值)。你用的这段宏里面引用了Api函数timeGetTime(我也是才弄明白的),比我的宏里面的Timer函数精度要高(timeGetTime是以毫秒为单位的,精度为1/1000,取的是系统开机以来所逝去的时间;Timer函数是以秒为单位的,精度为1/100,取的是自零时以来所逝去的时间.)我的这段宏应该是可行的(我在我的机器上测试是通过了的),也许中间有什么岔子,已不重要。
系统停顿的现象我没有发现,只是在PPT放映窗口中键盘被禁用了(鼠标还是能用的),对其他程序好像没什么影响。另外,由于在While循环中不停地执行DoEvents语句,CPU占用很高(我的奔III笔记本上是100%)。
再次谢谢zyhqzn兄,你的问题和帖子让我学了不少东西。 感谢cqdanielzh朋友:
wmp1是我在ppt中对插入的控件的命名(在控件属性中)。 哈!原来如此。妙法呀。受教了,many thanks!
页:
[1]