Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

streaming

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 be 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.

like image 769
StackedCrooked Avatar asked Nov 10 '09 14:11

StackedCrooked


People also ask

How do you put a timestamp on PowerPoint?

Add the date and timeIn the Header and Footer box, on the Slide tab, select the Date and time check box. Click Update Automatically, and then choose the format you want from the list. Click Fixed, and then type the date and time that you want. Click Apply to All.

Is there a way to track changes in PowerPoint?

PowerPoint doesn't have a Track Changes feature like the one in Word, but you can receive comments and feedback from reviewers by first saving your presentation to your computer, and then posting a second copy to a shared location such as OneDrive or SharePoint.

Can you record the Slide Show timings?

To record slide timings: When you are ready to run through your show, click the SLIDE SHOW tab and Rehearse Timings. PowerPoint opens Slide Show view and begins recording a time for the first slide. On the Recording toolbar, look here for the elapsed time on the current slide.


1 Answers

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.

like image 150
Todd Main Avatar answered Nov 08 '22 22:11

Todd Main