我有一个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 ();
}

这样可以,但我每次都要打开文件。这是唯一的办法吗?

最佳答案

不要在媒体结束处理程序开始时重置源,请尝试将位置值设置回起始位置。position属性是一个时间跨度,因此您可能需要类似的内容。

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

编辑1:查找更多详细信息here

08-26 04:53