我有一个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