在vb中播放声音

问题描述 投票:1回答:4

[好,所以我几乎使用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

事实是,我在'playsound'语句中遇到错误,我真的想在玩家赢得比赛时播放该声音!

我还尝试创建一个重置按钮,该按钮将乐谱和所有三个插槽都设置为0,但是当我单击它时,什么也没有发生。这是重置按钮的代码:

 Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    score = 0
    PictureBox1.Visible = False
End Sub
vb.net visual-studio-2010 audio
4个回答
2
投票

尝试使用My.Computer.Audio.Play

您是否遍历了代码以确保按钮单击事件没有任何反应?单击“分数= 0”行的最左侧将设置一个断点。运行代码时,它将暂停代码。您可以将鼠标悬停在变量得分上,它将显示它的价值。按[F8]将执行它,您可以将鼠标悬停在它上面并查看它是否已更改。


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

0
投票

正如有人提到的那样,声音文件可能不会出现在每台计算机上。您应该研究使用系统蜂鸣声,可以对其进行修改以产生一些奇怪的提示音。我玩得很开心...

关于您的重置按钮...,您尚未编码要重置的标签文本。我猜您只需要视觉上的改变,因为当您再次播放时,这些值仍然会改变。但是,作为一个重置按钮,我想您可能希望将每个标签文本重置为string.empty或其他内容。


0
投票

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

My.Computer.Audio.Play("C:\WINDOWS\MEDIA\TADA.WAV",AudioPlayMode.Background)
© www.soinside.com 2019 - 2024. All rights reserved.