TimelineMarker Class
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Represents metadata associated with a specific point in a media file.
Inheritance Hierarchy
System.Object
System.Windows.DependencyObject
System.Windows.Media.TimelineMarker
Namespace: System.Windows.Media
Assembly: System.Windows (in System.Windows.dll)
Syntax
'Declaration
Public NotInheritable Class TimelineMarker _
Inherits DependencyObject
public sealed class TimelineMarker : DependencyObject
The TimelineMarker type exposes the following members.
Constructors
Name | Description | |
---|---|---|
TimelineMarker | Initializes a new instance of the TimelineMarker class. |
Top
Properties
Name | Description | |
---|---|---|
Dispatcher | Gets the Dispatcher this object is associated with. (Inherited from DependencyObject.) | |
Text | Gets or sets the text value of a TimelineMarker. | |
Time | Gets or sets the time at which a TimelineMarker is reached. | |
Type | Gets or sets the marker type of a TimelineMarker. |
Top
Methods
Name | Description | |
---|---|---|
CheckAccess | Determines whether the calling thread has access to this object. (Inherited from DependencyObject.) | |
ClearValue | Clears the local value of a dependency property. (Inherited from DependencyObject.) | |
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) | |
GetAnimationBaseValue | Returns any base value established for a Silverlight dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
GetValue | Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ReadLocalValue | Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.) | |
SetValue | Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Fields
Name | Description | |
---|---|---|
TextProperty | Identifies the Text dependency property. | |
TimeProperty | Identifies the Time dependency property. | |
TypeProperty | Identifies the Type dependency property. |
Top
Remarks
A timeline marker is metadata associated with a particular point in a media file. These markers are usually created ahead of time and stored in the media file itself. They are typically used to name different scenes in a video or provide scripting cues. By handling the MediaElement object's MarkerReached event or by accessing the MediaElement object's Markers property, you can use timeline markers to trigger actions or enable users to seek to selected positions in the media file.
TimelineMarker objects are used to represent all types of Windows Media technology timeline markers: markers and script commands (both metadata and separate stream). The following table lists how the Text and Type properties map to their source marker or script command.
TimelineMarker property |
Windows Media marker |
Windows Media script command |
---|---|---|
Text |
"Name" field |
"Param" field |
Type |
Always set to Name |
"Type" field |
The following example creates a MediaElement object and responds to its MarkerReached event. Each time a timeline marker is reached, the example displays the timeline marker's Time, Type, and Text values.
<StackPanel Margin="40">
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="12" Foreground="DarkGray">Time:</TextBlock>
<TextBlock x:Name="timeTextBlock" FontSize="12" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="12" Foreground="DarkGray">Type:</TextBlock>
<TextBlock x:Name="typeTextBlock" FontSize="12" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="12" Foreground="DarkGray">Value:</TextBlock>
<TextBlock x:Name="valueTextBlock" FontSize="12" />
</StackPanel>
<!-- The MediaElement has the MarkerReached event attached. -->
<MediaElement MarkerReached="OnMarkerReached" HorizontalAlignment="Left"
Source="thebutterflyandthebear.wmv" Width="300" Height="200" />
</StackPanel>
Private Sub OnMarkerReached(ByVal sender As Object, ByVal e As TimelineMarkerRoutedEventArgs)
timeTextBlock.Text = e.Marker.Time.Seconds.ToString
typeTextBlock.Text = e.Marker.Type.ToString
valueTextBlock.Text = e.Marker.Text.ToString
End Sub
private void OnMarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
{
timeTextBlock.Text = e.Marker.Time.Seconds.ToString();
typeTextBlock.Text = e.Marker.Type.ToString();
valueTextBlock.Text = e.Marker.Text.ToString();
}
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also