Sub MediaInfo() Dim oShp As
Shape Dim oMBK As MediaBookmark Dim I As Integer
' Assumes that this shape is either inserted video
or audio.
Set oShp = ActiveWindow.Selection.ShapeRange(1)
' Note: Online video is also flagged as mediatype
shape ' but it fails on all these properties, only SourceFullName
property works ' See *Linked info
If oShp.Type = msoMedia
Then Debug.Print "Lenght: " & oShp.MediaFormat.Length
Debug.Print "Start Point: " & oShp.MediaFormat.StartPoint
Debug.Print "End Point: " & oShp.MediaFormat.EndPoint
Debug.Print "Fade In Duration: " & oShp.MediaFormat.FadeInDuration
Debug.Print "Fade Out Duration: " & oShp.MediaFormat.FadeOutDuration
Debug.Print "Is Embedded: " & oShp.MediaFormat.IsEmbedded
Debug.Print "Is linked: " & oShp.MediaFormat.IsLinked
If oShp.MediaFormat.IsLinked Then
Debug.Print "Movie Source: " & oShp.LinkFormat.SourceFullName
'*Linked info End
If
Debug.Print "Volume: " & oShp.MediaFormat.Volume
Debug.Print "Muted: " & oShp.MediaFormat.Muted
Debug.Print "Audio Compression Type: " & oShp.MediaFormat.AudioCompressionType
Debug.Print "Audio Audio Sampling Rate: " & oShp.MediaFormat.AudioSamplingRate
' Applicable only to video
types '=====================================================================================
If oShp.MediaType = ppMediaTypeMovie Then
Debug.Print "Video Compression Type: " & oShp.MediaFormat.VideoCompressionType
Debug.Print "Video Frame Rate: " & oShp.MediaFormat.VideoFrameRate
' Set
poster frame Call oShp.MediaFormat.SetDisplayPicture(1000)
' Set poster frame from external
image. Call oShp.MediaFormat.SetDisplayPictureFromFile("C:\Users\Shyam\Pictures\mvp.jpg")
Debug.Print "Height:
" & oShp.MediaFormat.SampleHeight
Debug.Print "Width: " & oShp.MediaFormat.SampleWidth
' Movie Container Shape
Debug.Print oShp.AutoShapeType
End If
'=====================================================================================
' It is possible to create bookmarks in the audio/video
timeline for the media shape. ' You can then trigger
an animation when the media hits the bookmark during playback
' Pretty cool, eh? ' See the subroutine below
this one to see how you can assign a bookmark trigger
'=====================================================================================
' Add media bookmark, position is in milliseconds
' Note: Can't assign 2 bookmarks at the same point in the timeline.
' Generates error if specified duration is greater than movie duration
' Generates error if specified bookmark already exists on the timeline
Call oShp.MediaFormat.MediaBookmarks.Add(4000,
"Bookmark A") Call oShp.MediaFormat.MediaBookmarks.Add(8000,
"Bookmark B") Call oShp.MediaFormat.MediaBookmarks.Add(9000,
"Bookmark C")
'Count the number of bookmarks
Debug.Print "Bookmark count: " & oShp.MediaFormat.MediaBookmarks.Count
'Retrieve info from the 1st bookmark
For I = 1 To oShp.MediaFormat.MediaBookmarks.Count
Set oMBK = oShp.MediaFormat.MediaBookmarks(I)
Debug.Print oMBK.Index, "Name: " & oMBK.Name, "Position: " & oMBK.Position
Next
'Delete all the bookmarks
For I = oShp.MediaFormat.MediaBookmarks.Count To 1 Step -1
Set oMBK = oShp.MediaFormat.MediaBookmarks(I)
oMBK.Delete Next
End If End Sub
Sub AddBookmarkTrigger()
Dim oShp As Shape
' Shape with animation that
needs to be triggered via bookmark
Dim oShpMovie As Shape ' Media shape
'Assumes that we have a
media shape with 'Bookmark 1' on slide 1 of the presentation
With ActivePresentation.Slides(1)
Set oShpMovie = .Shapes(1)
Set oShp = .Shapes(2)
' Assign an trigger to shape
' if no bookmark name is specified, it will default to 1st. If no bookmark
exists then it fails
Call .TimeLine.InteractiveSequences.Add.AddTriggerEffect(oShp, msoAnimEffectPathCircle,
_
msoAnimTriggerOnMediaBookmark, oShpMovie, "Bookmark 1") End With
End Sub
|