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.
精彩评论