我是编程新手,我正试图编写一个蛇游戏。我一直试图将声音或音乐编入游戏,但无济于事。 例如,我想要一个" boop"每当蛇吃一个苹果时我都会发出声音,每当我达到一个新的水平时,我都会喜欢一个简短的音乐片段。我已经将剪辑的wav文件添加到资源中,但它仍然无法正常工作。
这是我尝试实施" boop"的代码的一部分。音:
Position currentHeadPosition = body[0];
Position newHeadPosition = null;
SoundPlayer buttonClick;
buttonClick = new SoundPlayer(Properties.Resources.Boop);
这就是我喜欢播放音乐的部分:
if (Mic.noMoreMic() == true)
{
clock.Stop();
level++;
levelLBL.Text = Convert.ToString(level);
gotoNextLevel(level);
MessageBox.Show(Properties.Resources.win + "Press the start button to go to Level " + level, "Congrats");
}
忽略Properties.Resources.win
这件事,我试图投射gif以显示在弹出消息中,但它也不起作用,但是如果有人也可以帮我解决这个问题,那么&# #39;太棒了!
答案 0 :(得分:1)
查看Rod Stephens的博客文章:http://csharphelper.com/blog/2016/08/play-an-audio-resource-in-c/
[从csharphelper.com博客文章复制]
首先,将WAV文件添加为音频资源。 为此,请打开“项目”菜单,然后选择“属性”。然后打开Add Resource下拉列表并选择Add Existing File。选择WAV文件,然后单击“打开”。
创建音频资源后,程序可以使用SoundPlayer对象播放它。以下代码显示了程序用于播放声音资源的PlayWav方法。
// The player making the current sound.
private SoundPlayer Player = null;
// Dispose of the current player and
// play the indicated WAV file.
private void PlayWav(Stream stream)
{
// Stop the player if it is running.
if (Player != null)
{
Player.Stop();
Player.Dispose();
Player = null;
}
// If we have no stream, we're done.
if (stream == null) return;
// Make the new player for the WAV stream.
Player = new SoundPlayer(stream);
// Play.
Player.Play();
}
然后,您可以在需要播放声音资源时调用该方法。
if (Mic.noMoreMic() == true)
{
// Your code
//clock.Stop();
//level++;
//levelLBL.Text = Convert.ToString(level);
//gotoNextLevel(level);
//MessageBox.Show(Properties.Resources.win + "Press the start button to go to Level " + level, "Congrats");
PlayWav(Properties.Resources.boop);
}