如何在XNA中播放多个背景歌曲?

我用来播放背景歌曲的当前教程只允许我在整个游戏中播放一首歌曲。

链接到教程 – > http://rbwhitaker.wikidot.com/playing-background-music

我想要有多首歌曲,在一首歌曲结束后播放另一首随机歌曲将被选中并播放。

我该怎么做?

我也不想参与XACT。

为了检查一首歌曲是否完成了播放,请执行以下操作:

if(MediaPlayer.State != MediaState.Playing && MediaPlayer.PlayPosition.TotalSeconds == 0.0f){ //start playing new song } 

为了开始随机歌曲,你应该有一个歌曲列表:

 public List<Song> bgm = new List<Song>(); 

然后玩一个随机的可能是这样的(如果你的列表不是空的):

 MediaPlayer.Play(bgm[rand.Next(bgm.Count)]); 

请记住,select一个这样的随机歌曲并不能保证一个接一个地不被播放多次。 你应该洗牌你的歌曲列表,每次select下一首歌曲。