如何将音乐添加到C#?

时间:2018-01-27 10:05:13

标签: c# audio

我是编程新手,我正试图编写一个蛇游戏。我一直试图将声音或音乐编入游戏,但无济于事。 例如,我想要一个" 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;太棒了!

1 个答案:

答案 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);
}