MediaElement的标记缺少WPF(MediaElement Markers Missing

2019-09-29 01:39发布

我看到有在MediaElement的一个标记属性,但是这似乎是提供对Silverlight的MediaElement,而不是WPF MediaElement的?

你能帮我做我缺少什么吗?

我试图标记添加到WPF的MediaElement,播放视频和显示基于时间轴上的弹出窗口。 我应该是使用替代缺少标记收集的?

谢谢您的帮助。

Answer 1:

有两个方面,这取决于你真正意图您的问题-请注意MediaElement.Markers属性是只读 与当前加载的媒体文件相关联的时间线标记的集合

什么是线标记?

这里的的MSDN描述TimelineMarker类 :

时间线标记是与媒体文件中的特定点相关联的元数据。 这些标记通常被创建的时间提前,并存储在媒体文件本身。 它们通常用来命名一个视频场景,或提供线索的脚本。 通过处理的MediaElement对象的MarkerReached事件或通过访问MediaElement的对象的标记属性,你可以使用时间轴标记[...]

所以,时间线标记可能是一个很好的适合你的编码弹出窗口,但要注意,他们是媒体文件本身,而不是典型的媒体播放器的图形刻度线收集时间表窗口小部件的属性是很重要的!

如何创建和处理时间线标记?

总结这我能找到现在唯一的文章是如何对视频编码,标记为Silverlight和WPF消费从史蒂芬·波特。 (不要被登记需求所迷惑,它是从动机摆在首位堆栈溢出的创建邪连字符的网站臭名昭著的技术,即你可以阅读文章就好了没有登记,只是不停地向下滚动。)

如何创建与WPF刻度线的时间轴控制?

假设这是你实际上要达到,为什么你绊倒的MediaElement.Markers集合答案是滚你自己

这是很简单的,虽然,基本上你将需要定制一个滑块控件根据自己的喜好,看到从这个例子Slider类 如何使用文档蜱财产不定期打造沿滑块刻度线

<Slider Width="100" Value="50" Orientation="Horizontal" HorizontalAlignment="Left" 
IsSnapToTickEnabled="True" Maximum="3" TickPlacement="BottomRight" 
AutoToolTipPlacement="BottomRight" AutoToolTipPrecision="2" 
Ticks="0, 1.1, 2.5, 3"/>


文章来源: MediaElement Markers Missing in WPF