Wpf 在MediaElement中重复视频的最简单方法是什么

Wpf 在MediaElement中重复视频的最简单方法是什么,wpf,video,Wpf,Video,我有一个MediaElement,其中源绑定到一些数据 <MediaElement Source='{Binding Something}' /> 让视频重复的最简单方法是什么?理想情况下,MediaElement将具有repeat behavior属性 <MediaElement RepeatBehavior='Forever' ... /> 但是我找不到这样的属性。您需要向MediaElement添加情节提要。请参见下面的示例: <MediaElem

我有一个MediaElement,其中源绑定到一些数据

<MediaElement Source='{Binding Something}' />

让视频重复的最简单方法是什么?理想情况下,MediaElement将具有repeat behavior属性

<MediaElement RepeatBehavior='Forever' ... />


但是我找不到这样的属性。

您需要向MediaElement添加情节提要。请参见下面的示例:

<MediaElement RepeatBehavior='Forever' ... />
<MediaElement Name="myMediaElement" >
      <MediaElement.Triggers>
        <EventTrigger RoutedEvent="MediaElement.Loaded">
          <EventTrigger.Actions>
            <BeginStoryboard>
              <Storyboard>

                <!-- The MediaTimeline has a RepeatBehavior="Forever" which makes the media play
                     over and over indefinitely.-->
                <MediaTimeline Source="media\tada.wav" Storyboard.TargetName="myMediaElement"  
                 RepeatBehavior="Forever" />

              </Storyboard>
            </BeginStoryboard>
          </EventTrigger.Actions>
        </EventTrigger>
      </MediaElement.Triggers>
    </MediaElement>

我知道有点晚了,但我无法从MSDN中学习示例。所以经过研究,我发现了这个项目:,只需点击屏幕右侧最新版本的浏览链接。您将输入示例应用程序的代码。我喜欢这个库,因为循环非常简单:

MediaUriElement MyPlayer.Loop = True;

希望这对其他人有帮助


问候

我将手动设置为。
和以下代码使其工作:

private void mediaElement_OnMediaEnded(object sender, RoutedEventArgs e)
{
    mediaElement.Position = new TimeSpan(0,0,1);
    mediaElement.Play();
}

将位置设置为零不起作用…

mediaElement.position=new TimeSpan(0,0,1)
添加到媒体播放器方法(播放媒体之前)不会产生任何效果,正如MasterMastic和Guido Zanon所建议的那样。我用给定的内容为MediaEnd创建了MediaElement事件,它成功了

我问这个问题是为了回答同样的答案,所以我必须提到,将位置设置为
TimeSpan.Zero
效果很好。我测试了自己,发现TimeSpan.Zero可以正常工作。很好的Ken+MasterMastic TimeSpan.Zero不适用于所有情况。这个和TimeSpan.Zero对我来说效果最好。触发器在循环中过早地倒带视频,无法将视频播放到底。请删除
mediaElement.play()
如果将
加载行为
设置为
播放
。FWIW重复视频1-3分钟后,此方法将开始停滞。我想每次都会打开视频文件。我使用了另一个答案中的方法,它会永远循环,不会减速/冻结: