我尝试播放循环视频。我有一个堆栈面板( frame )和一个媒体元素( loop )。
FadeIn()-显示和播放视频
FadeOut()-隐藏和暂停视频
经过随机尝试 FadeIn / FadeOut 后,视频会永久暂停(用于软件渲染),然后暂停并进入黑屏(用于硬件渲染)。
手动命令循环。Play()不执行任何操作。
我阅读了一些类似的问题,并尝试使用软件渲染。它没有帮助。 视频文件是mp4 h264。
任何想法如何解决?
private void loop_MediaEnded(object sender, RoutedEventArgs e)
{
loop.Position = new TimeSpan(0, 0, 0);
loop.Play();
}
private async Task<bool> FadeIn() //animation
{
loop.Play();
this.Show();
//Fades in
for (double i = 0; i <= 1; i += Step)
{
this.Opacity = i;
frame.Opacity = i;
await Task.Delay(waitDelay);
}
return true;
}
private async Task<bool> FadeOut() //animation
{
//Fades out
for (double i = 1; i >= 0; i -= Step)
{
this.Opacity = i;
frame.Opacity = i;
await Task.Delay(waitDelay);
}
this.Hide();
loop.Pause();
//loop.Stop();
return true;
}