在vb中播放声音

时间:2013-04-18 16:43:24

标签: vb.net visual-studio-2010 audio

好吧,所以我使用visual studio 2010几乎完善了一款名为lucky 7的游戏。我想在赢得游戏时播放声音(在三个插槽中的一个上获得7个)。这是代码:

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click



    For i = 0 To 2
        slots(i) = rand.Next(10)
    Next

    Label1.Text = (slots(0).ToString)
    Label2.Text = (slots(1).ToString)
    Label3.Text = (slots(2).ToString)

    If slots(0) = 7 Or slots(1) = 7 Or slots(2) = 7 Then
        score = score + 100 'REM 10 points for each win 
        Label4.Text = (score.ToString)
        PictureBox1.Visible = True 'REM If you have a PictureBox
        PlaySound "C:\WINDOWS\MEDIA\TADA.WAV",
    Else
        PictureBox1.Visible = False
    End If

    If score = 500 Then

        MsgBox("You Scored 500 Points!", vbInformation)
    End If


End Sub

事情是,我在'playound'语句中出错了,当玩家赢了游戏时我真的想播放那个声音!

我还尝试创建一个重置按钮,将分数和所有三个插槽设置回0,但是当我单击它时,没有任何反应。以下是重置按钮的代码:

 Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    score = 0
    PictureBox1.Visible = False
End Sub

4 个答案:

答案 0 :(得分:2)

尝试使用My.Computer.Audio.Play

您是否浏览过代码以确保按钮点击事件没有发生任何事情?单击“score = 0”行的最左侧将设置断点。这将在您运行代码时暂停代码。您可以将鼠标悬停在变量得分上,它会显示它的值。按[F8]将执行它,您可以将鼠标悬停在它上面,看它已被更改。

答案 1 :(得分:0)

从重置按钮事件中,您的分数将重置为0,但不会重置为文本。也不会改变3个插槽的文本。

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
  Label1.Text = "0"
  Label2.Text = "0"
  Label3.Text = "0"
  Label4.Text = "0"
  score = 0
  PictureBox1.Visible = False
End Sub

答案 2 :(得分:0)

有人提到声音文件可能不会出现在每台计算机上。您应该考虑使用系统蜂鸣声,可以修改它以制作一些奇怪的铃声。我玩得很开心......

至于您的重置按钮...您尚未对要重置的标签文本进行编码。我猜你只想要一个视觉上的变化,因为当你再次玩时,这些值仍然会改变。然而,作为重置按钮,我猜你可能想要将每个标签文本重置为string.empty或其他东西。

答案 3 :(得分:0)

您应该尝试播放.wav声音文件:

My.Computer.Audio.Play("C:\WINDOWS\MEDIA\TADA.WAV",AudioPlayMode.Background)