【发布时间】:2013-12-02 15:44:02
【问题描述】:
我正在尝试在我的游戏中循环播放我的背景音乐,但是在将这个 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'
谢谢。
【问题讨论】:
-
您究竟在哪里得到了那个错误,完整的错误文本是什么?我没有发现任何问题。
-
抱歉,我已编辑代码以显示错误发生的位置。完整的错误如下。 '错误 1 'Microsoft.Xna.Framework.Media.MediaPlayer.Play(Microsoft.Xna.Framework.Media.Song)' 的最佳重载方法匹配有一些无效参数 \C:\GPT2\BouncingBallXNA\BouncingBallXNA\BouncingBallXNA\MainGame .cs 108 17 弹跳球XNA'
-
MediaPlayer.Play想要一个Song,而你传递给它的是一个SoundEffect。看我的回答。 -
已完成谢谢! :)
-
另外,如果你有机会看看这个教程:rbwhitaker.wikidot.com/using-xact 你可以使用 XACT 在 XNA 中对你的音频进行更多的控制。