如何在第一个视频使用mediaElement结束之前加载下一个视频?

时间:2012-06-09 01:15:33

标签: c# .net wpf

我有一个视频,我想永远重复视频;但是,我希望视频在完全结束之前重复播放。不幸的是,事件MediaEnded仅在视频完成视频时触发。我正在寻找某种类似事件,如结束,玩游戏或其他类似事件来执行此操作。

string VideoFileLocation = sVideoLocation + @"\video\";
DirectoryInfo df = new DirectoryInfo(VideoFileLocation);

media_Figura1.Source = new Uri(VideoFileLocation + @"\Figuras_loop.mov");
media_Figura1.LoadedBehavior = MediaState.Manual;

if (df.Exists)
{
    media_Figura1.Play();
}
else
{
    System.Windows.Forms.MessageBox.Show("No se puede cargar el video loop (Figura1)", "Casino Krown");
}

private void media_Figura1_MediaEnded(object sender, RoutedEventArgs e)
{
    media_Figura1.UnloadedBehavior = MediaState.Manual;

    if (bLoop_1Figura)
    {
        TimeSpan ts = new TimeSpan(0, 0, 0, 0, 0);
        media_Figura1.Position = ts;
    }
}

我还希望视频的最后一帧在结束时保持可见,而不是默认的黑屏。这可能吗?

1 个答案:

答案 0 :(得分:0)

对于很容易解决的问题,你可以有2个视频,2个mediaElements,当第一个videoEnded时,重复两个mediaElementes媒体文件,你可以使用一个bool变量来确定视频如何播放所有第二个视频并停止第一个视频。

您可以使用this solution阅读视频评论。