如何在C#WPF中以重复模式运行MediaPlayer?

我有一个MediaPlayer

 public MediaPlayer backgroundMusicPlayer = new MediaPlayer (); 

现在,因为它的背景音乐,我想在它结束后重复这首歌。

我该如何实现呢?

这是我发现的:

歌曲结束时会引发一个事件: backgroundMusicPlayer.MediaEnded

我不知道该怎么做才能做到这一点? 我是C#的新手和一般的编程。

编辑:

 public void PlaybackMusic ( ) { if ( backgroundMusicFilePath != null ) { backgroundMusicPlayer.Open (new Uri (backgroundMusicFilePath)); backgroundMusicPlayer.MediaEnded += new EventHandler (Media_Ended); backgroundMusicPlayer.Play (); return; } } private void Media_Ended ( object sender, EventArgs e ) { backgroundMusicPlayer.Open (new Uri (backgroundMusicFilePath)); backgroundMusicPlayer.Play (); } 

这有效,但我每次都需要打开文件。 这是唯一的方法吗?

不要在Media_Ended处理程序的开头重置Source,而是尝试将Position值设置回起始位置。 Position属性是TimeSpan,所以你可能想要类似的东西。

 private void Media_Ended(object sender, EventArgs e) { media.Position = TimeSpan.Zero; media.Play(); } 

编辑1: 在此处查找更多详细信息