2013-07-07 54 views
0

我使用的是Visual Basic 2010,而我正在編寫一個程序,我正在構建,我的問題是,我有一個Media.SoundPlayer設置了,我希望它啓動時加載的形式,所以我的代碼如下所示(編輯:此代碼不起作用的聲音在調試負載不玩,我沒有得到任何錯誤)事件form.shown工作,但form.load不

Private Sub BGMusic(ByVal x As Integer) 
     Dim msp As New Media.SoundPlayer 
     Dim Music As String = Install + "\Music\innmusic.wav" 
     msp.SoundLocation = Music 
     If x = 1 Then 
      msp.Play() 
     Else 
      msp.Stop() 
     End If 
    End Sub 

Private Sub Innmenu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
      BGMusic(1) 
    End Sub 

也我想要注意的是,Install +「\ Music \ innmusic.wav」是一個有效的路徑,因爲我可以設置一個按鈕來運行BGMusic(1)並且還可以播放音樂。爲了我的目的,form.shown會工作,但我想知道我的未來程序有什麼問題,以便我可以使用form.load

+1

使用調試器。 –

+1

'+'不是VB中的字符串連接運算符。 '&'是。 –

+0

@ Dan-o +和&在VB.net中對於字符串連接都很好。 – Edper

回答

0

有可能您的Install變量沒有顯示出你的位置聲明它是空的或者沒有正確初始化。我給你一個例證如下:

Public Class Innmenu 

Dim Install As String = "" 

Private Sub Innmenu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    BGMusic(1) ' It will not play because Install is still empty 
End Sub 

Private Sub BGMusic(ByVal x As Integer) 
    Dim msp As New Media.SoundPlayer 
    Dim Music As String = Install + "\Music\innmusic.wav" 
    msp.SoundLocation = Music 
    If x = 1 Then 
     msp.Play() 
    Else 
     msp.Stop() 
    End If 
End Sub 


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

Install = "C:\" 'Let us assume that your folder Music and file innmusic.wav is in C: 
BGMusic(1) ' Music will now play because Install has now the right value assigned 

End Sub 

嘗試的方式爲喜歡你的BGMusic方法做Try Catch

Private Sub BGMusic(ByVal x As Integer) 
    Dim msp As New Media.SoundPlayer 
    Dim Music As String = Install + "\Music\innmusic.wav" 
    msp.SoundLocation = Music 

    Try 
     If x = 1 Then 
     msp.Play() 
     Else 
     msp.Stop() 
     End If 

    Catch ex As Exception 
     MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) 
    End Try 

End Sub 

爲了你會對你的錯誤反饋,如果有任何。

+0

我知道安裝變量不是空的,因爲就像我在我的問題中說的一個按鈕確實激活BGMusic(1),但我覺得我錯過了一些啓動順序,因爲在我的一些窗體上這個代碼可以工作, 't我複製並粘貼了代碼 – Sersay

+0

您確定您的Install變量具有正確的值嗎?你嘗試過調試/追蹤它嗎?順便說一下你在這個上使用了線程嗎?因爲如果它有可能在某處發生改變。 – Edper