我正在尝试在我的游戏中循环播放背景音乐但是在更新函数中放入if语句时会收到上述错误:
if (!songStart)
{
MediaPlayer.Play(backgroundMusic); // error occuring here
songStart = true;
}
当我把它放入加载内容时,错误消失了但是我在更新中需要它,以便它不断检查歌曲是否没有播放(!songstart)
。
我目前在加载内容中加载了这首歌:
Song backgroundMusic = Content.Load<Song>("backgroundMusic");
MediaPlayer.IsRepeating = true;
编辑:刚刚注意到我也遇到了以下错误,这可能与它有关吗?
'无法将'Microsoft.Xna.Framework.Audio.SoundEffect'转换为'Microsoft.Xna.Framework.Media.SongCollection'
感谢。
答案 0 :(得分:0)
我认为您不需要那个bool来检查音频是否已播放,您可以使用:
if(MediaPlayer.State != MediaState.Playing)
对于您的错误,您可能有两个名为backgroundMusic
的变量,我认为您的类变量是SoundEffect
(正如我在上一个问题中所读到的那样),并且您有一个{{1在Song
中声明的具有相同名称的变量。你应该删除第一个。