[英]WPF MediaElement FREEZES when setting Position to end of video
我实现了一个简单的视频播放器。 其中有一个MediaElement和一个Slider等。 无论如何,当我将滑块一直向右滑动并将MediaElement.Position设置为视频的结尾时,视频会在视频的最后一帧冻结,并且直到我恢复之前都不会继续播放或响应暂停/播放命令将其他视频加载到MediaElement中。
我放了一个小技巧,仅将Position值更改为距离视频末尾至少20毫秒的数字,然后问题就消失了:
if ( _mediaElement.HasVideo &&
_mediaElement.NaturalDuration.HasTimeSpan &&
(_mediaElement.NaturalDuration.TimeSpan.TotalMilliseconds - e.NewValue) > 20)
{
_mediaElement.Position = new TimeSpan(0, 0, 0, 0, (int) e.NewValue);
}
我不明白为什么视频会在最后一帧冻结? 这是MediaElement控件中的错误,还是有其他方法可以解决此问题?
我发现3年前的一篇帖子描述了同样的问题,他们的解决方案是更新的nVidia驱动程序。 我拥有最新的nVidia驱动程序,但仍然有此问题。 我猜上面的破解是可行的,但是视频会像这样锁定似乎有点奇怪。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.