我有一个MediaElement在WPF播放的WMV,我倒带了4秒(我也尝试了4000毫秒,但同样的结果)。我想简单地循环视频的最后4秒,所以我....
protected override void videoBase_MediaEnded(object sender, RoutedEventArgs e)
{
//would reset to zero (replay)
//base.MediaDisplayControl_MediaEnded(sender, e);
Movie.Position = TimeSpan.FromMilliseconds(4000);
}
它工作2-5次(循环),然后在最后一帧死掉。
有什么想法吗?
我需要补充的是,最终的MediaElement_MediaEnded事件确实会触发。使用日志记录,我可以看到位置被重置,但视频只是冻结(实际上锁定了PC),显示最后一帧。
2-5次也很重要,因为它是可重复的,但不是一致的……
更新-(我正在更新而不是评论,因为还没有回复)
以上情况在Intel机器上不会发生,但在AMD机器上确实会失败。
这种随机性肯定指向硬件。
英特尔设置...T2500酷睿双核英特尔945视频芯片组
AMD设置...AMD Athelon 4450B NVidia Quadro 210S视频芯片组
为了清楚起见,在英特尔设置上。视频完美地回放,永远回放。在AMD设置中,视频不会倒带。
希望这点知识能唤起我的记忆,让我解开这个小小的谜团。谢谢!
发布于 2009-07-09 05:42:23
解决方案被证明是来自NVidia的一个新驱动程序。
https://stackoverflow.com/questions/1101607
复制相似问题