我用:
MediaPlayer.Play(song1);
播放一首歌。
然后我用
MediaPlayer.Play(song2);
播放第二首歌。但Mediaplayer仍然播放song1。我试图阻止播放器并再次播放song2,但它不起作用。当我交换song1和song2时,它只播放song2。
编辑: 我有这门课:
public class SoundHelper
{
public static void PlaySong(Song song)
{
MediaPlayer.Stop();
MediaPlayer.Play(song);
}
public static void StopSong()
{
MediaPlayer.Stop();
}
}
我用:
SoundHelper.PlaySong(Content.Load<Song>("Sounds/Songs/MenuTheme"));
在游戏开始时播放歌曲并且有效。
然后我用:
SoundHelper.PlaySong(Content.Load<Song>("Sounds/Songs/Battle"));
在战斗中播放下一首歌曲,然后从头开始播放MenuTheme。
答案 0 :(得分:0)
你必须停止播放当前的歌曲
if (PlaySong1) {
MediaPlayer.Stop();
MediaPlayer.Play(Song1);
}
else{
MediaPlayer.Stop();
MediaPlayer.Play(Song2);
}
修改强>
最好在“loadcontent”中加载歌曲。
song1 = Content.Load<Song>("song1"); song2 = Content.Load<Song>("song2");
也许可以解决添加MediaPlayer.IsRepeating = true;
。
到目前为止,我记得这一切。
答案 1 :(得分:0)
不幸的是,这似乎是MonoGame中的一个错误。有同样的问题。 使用3.3版本,您的方法应该有效。