/// <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);
        }
Example #2
0
        // 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);
            }
        }