我使用 MediaElement 查看普通图像和 gif 图像,但 gif 每次都会在 5 秒后冻结。超过 5 秒的不会完成,而少于 5 秒的会循环播放,直到达到那个神奇数字。
我尝试过手动卸载图像,强制播放它 - 没有任何效果。
private void NewUri(string path)
{
MediaView.Source = new Uri(path, UriKind.Absolute);
if (Path.GetExtension(path) == ".gif")
{
isAnimated = true;
}
else
isAnimated = false;
OnImageChanged();
GC.Collect();
}
private void OnImageChanged()
{
isPaused = false;
MediaView.Play();
border.Reset();
}
private void OnClipEnded(object sender, RoutedEventArgs e)
{
MediaView.Position = TimeSpan.Zero;
MediaView.Play();
}
经过更多的强力测试,我发现编写
new TimeSpan(0, 0, 1);
而不是 TimeSpan.Zero;
可以以某种方式解决问题。
我仍然想知道为什么会这样,如果有人知道的话。但如果有效,那就有效
我遇到了同样的问题,
new TimeSpan(0, 0, 1);
确实努力继续gif图像...谢谢。