/// <summary> /// /// </summary> /// <param name="slide"></param> /// <param name="fileName">Absolute path of the .wav file</param> /// <returns></returns> public static Shape InsertAudioFileOnSlide(PowerPointSlide slide, string fileName) { if (!File.Exists(fileName)) { return(null); } Shape audioShape = GraphicsUtil.AddAudioShapeFromFile(slide, fileName); return(audioShape); }
// before we embed we need to check if we have any old shape on the slide. If // we have, we need to delete it AFTER the new shape is inserted to preserve // the original timeline. public void EmbedOnSlide(PowerPointSlide slide, int clickNumber) { bool isOnClick = clickNumber > 0; string shapeName = Name; if (slide != null) { // embed new shape using two-turn method. In the first turn, embed the shape, name it to // something special to distinguish from the old shape; in the second turn, delete the // old shape using timeline invariant deletion, and rename the new shape to the correct // name. try { Shape audioShape = GraphicsUtil.AddAudioShapeFromFile(slide, SaveName); audioShape.Name = "#"; if (isOnClick) { slide.SetShapeAsClickTriggered(audioShape, clickNumber, MsoAnimEffect.msoAnimEffectMediaPlay); } else { slide.SetAudioAsAutoplay(audioShape); } // delete old shape slide.DeleteShapesWithPrefixTimelineInvariant(Name); audioShape.Name = shapeName; // tag item with type audioShape.Tags.Add(AudioTypeTagName, Type.ToString()); } catch (COMException) { // Adding the file failed for one reason or another - probably cancelled by the user. } } else { MessageBox.Show(TextCollection.CommonText.ErrorSlideSelectionTitle); } }