开发者

Record the timestamps of slide changes during a live Powerpoint presentation?

I am planning to implement a lecture capture solution. One of the requirements is to record both the presenter and the slideshow. The presenter is recorded with a videocamera obviously, and the slideshow will probably be captured using a tool like Camtasia.

Now during playback three components are visible: the presenter, the slides and a table of contents. Clicking a chapter title in the TOC causes the video to navigate to the corresponding section. This means that a mapping must b开发者_Python百科e made between chapter titles and their timestamps in the video.

Usually a change of topic is accompanied with a slide change in the Powerpoint presentation. So the timestamps could be deduced from the slidechanges. However, this requires me to detect slide changes during the live presentation. And I don't know how to do that.

Anyone here knows how to do detect slide changes? Is there a Powerpoint API where I can connect event handlers or something like that? I'd greatly appreciate your help!

Edit

This issue is no longer relevant for my current work so this question will not be updated by me. However, you are still free to help others by posting your answers/insights here.


Here's some code that will get you most of the way there.

First, in PowerPoint VBE, create a class, call it clsPPTEvents. Put the following inside:

Public WithEvents PPTEvent As Application
Private Sub PPTEvent_SlideShowNextSlide(ByVal Wn As SlideShowWindow)
    MsgBox "Position: " & Wn.View.CurrentShowPosition & ", Time: " & Time
End Sub

Then create a module, call it anything, and put the following inside:

Public newPPTEvents As New clsPPTEvents
Sub StartEvents()
    Set newPPTEvents.PPTEvent = Application
End Sub
Sub EndEvents()
    Set newPPTEvents.PPTEvent = Nothing
End Sub

By then running the StartEvents sub, you can go into presentation mode and on every slide change, the slide number (position) and current time of the change will be displayed in a message box. You can use these (or other) variables to write to a file. Upon exiting the running slide show, you can then run EndEvents to stop the API hook.


It would be elegant to detect the slide changes, but wouldn't it be more practical to have the presenter to type a hotkey whenever there is a topic change? Or anything similar, but cooperating with the presenter, since he knows best when the topic changes.

Sorry not to provide an elegant answer.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜