大家好,我有一个在vb.net上制作的宾果游戏。我的声音记录在我的D:文件夹中。每次绘制数字和字母时都会播放它,但每当我关闭游戏形式然后从菜单中再次开始新游戏时,声音就不再播放了。程序确实通过了我制作的声音功能但它不播放声音。这是我的代码:
Sub sound()
If lblletter.Text <> "" And lblNumber.Text <> "" And lbllang.Text = "English" Then
Dim sound As String = "D:\BINGO BONANZA\ENGLISH\" + lblletter.Text + " " + lblNumber.Text + ".wav"
If My.Computer.FileSystem.FileExists(sound) Then
My.Computer.Audio.Play(sound, AudioPlayMode.Background)
Else
MsgBox("No sound file for this")
End If
ElseIf lblletter.Text <> "" And lblNumber.Text <> "" And lbllang.Text = "English" Then
Dim sound As String = "D:\BINGO BONANZA\FILIPINO\" + lblletter.Text + " " + lblNumber.Text + ".wav"
If My.Computer.FileSystem.FileExists(sound) Then
My.Computer.Audio.Play(sound, AudioPlayMode.Background)
Else
MsgBox("No sound file for this")
End If
End If
End Sub
答案 0 :(得分:0)
我看到你可以修复的一些问题......你的lbllang.Text对于这两个语句都是一样的。我认为你的第一个是“英语”而最后一个是“菲律宾语”。我已经提供了一些你可以做的改变...我不知道你怎么会得到任何东西,因为这两个陈述都是真的,你说如果它等于这样做和elseif做同样的事情...... ?
Private Sub sound()
If lblletter.Text <> "" And lblNumber.Text <> "" And lbllang.Text = "English" Then
Dim sound As String = "D:\BINGO BONANZA\ENGLISH\" + lblletter.Text + " " + lblNumber.Text + ".wav"
If My.Computer.FileSystem.FileExists(sound) Then
My.Computer.Audio.Play(sound, AudioPlayMode.Background)
Else
MsgBox("No sound file for this")
End If
Else
Dim sound As String = "D:\BINGO BONANZA\FILIPINO\" + lblletter.Text + " " + lblNumber.Text + ".wav"
If My.Computer.FileSystem.FileExists(sound) Then
My.Computer.Audio.Play(sound, AudioPlayMode.Background)
Else
MsgBox("No sound file for this")
End If
End If
End Sub
如果没有达到第一个条件,那么它将执行其他...试一试,让我知道它是否适合你。同时在“私人子声音”上设置一个断点,然后按“F11”逐步检查你的条件......
答案 1 :(得分:0)
你知道现在有什么问题,为了方便起见,这里有一个更简洁和othadox的编码方式:
Private Sub PlaySound()
If (string.IsNullOrEmpty(lblletter.Text) Or string.IsNullOrEmpty(lblNumber.Text)) Then return
Dim soundFile As String = String.Format("D:\BINGO BONANZA\{0}\{1} {2}.wav",lbllang.Text, lblletter.Text, lblNumber.Text)
If My.Computer.FileSystem.FileExists(soundFile) Then
My.Computer.Audio.Play(soundFile, AudioPlayMode.Background)
Else
MessageBox.Show("No sound found for file: " & soundFile)
End If
End Sub
答案 2 :(得分:0)
我已经解决了我的问题..它不需要对我的代码做任何事情。传递的语言有时无法获得价值。非常感谢你的时间.. :)