Peter,
Your best bet may be to create a slideshow in Mathematica and intersperse your voiceover between each slide (or each group of cells) by creating speaking buttons such as:
Print[Button["Slide 1", Speak["Introduction"]]];
You can then hide all the creator cells leaving only the buttons. Now you can start the slide show and click on the buttons to do your speaking. You can then use a screen capture/record program to capture the entire video with audio and cell evaluations, etc.
If you want it to be more seamless (depending on how much time you will spend doing this) you can create special formats for your slideshow (like have an Author mode and a presentation mode -- in presentation mode it hides the button creators) . You probably can make a program that auto plays the slide show and the speech buttons but that is more complicated.
Regards