如何在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: 在此处查找更多详细信息