none
vb是否可呼叫並直接播放xp的錄音檔 RRS feed

  • 問題

  •  

    各位先進好,在下想在某個事件發生時 便呼叫出錄音檔播放出來 是否可行呢? 謝謝各位先進的指教
    2007年8月1日 上午 04:47

解答

  • Hi LeDavie,

     

    如果您是使用VS 2003 (.NET Framework 1.1)的話,您需要使用win32 API來撥放,範例如下:

     

    Code Snippet

     

    '宣告

    Private Declare Auto Function PlaySound Lib "winmm.dll" _
          (ByVal lpszSoundName As String, ByVal hModule As Integer, _
           ByVal dwFlags As Integer) As Integer

        Private Const SND_FILENAME As Integer = &H20000

     

    '撥放聲音檔的function

     

        Public Function PlayWav(ByVal fileFullPath As String) _
            As Boolean

            'return true if successful, false if otherwise
            Dim bAns As Boolean, iRet As Integer = 0

            Try

                iRet = PlaySound(fileFullPath, 0, SND_FILENAME)

            Catch

            End Try

            Return iRet

        End Function

     

    '在button_click 事件呼叫PlayWav
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            PlayWav("C:\WINNT\Media\notify.wav")
        End Sub

     

     

    若您是使用 VS 2005, 則可以使用My.Computer.Audio.Play , 範例如下:

     

    Code Snippet

     

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            My.Computer.Audio.Play("C:\WINNT\Media\notify.wav")
        End Sub

     

     

     

    Regards,

     

    林泰宏 Terry Lin 
    技術支援工程師 Support Engineer
    Developer Support Team
    Global Technical Support Center - Taiwan

    技術支援服務首頁: http://support.microsoft.com

    技術支援專線: 0800-008-833(市話專用)/ 02-2999-8833

    2007年8月1日 下午 04:30

所有回覆

  • Dear Sir

    有試過利用my.Computer.Audio去播放音效嗎?相關資訊可以參考下面這邊

    http://msdn2.microsoft.com/zh-tw/library/cf1shcah(VS.80).aspx
    2007年8月1日 上午 05:02
    版主
  •  

    謝謝先進的回覆,看完您給的資訊後我有兩個問題

    My.Computer.Audio.Play 是否需要引用元件項目呢?

    是否有一個完整的範例可供我參考?

    2007年8月1日 上午 08:08
  • Hi LeDavie,

     

    如果您是使用VS 2003 (.NET Framework 1.1)的話,您需要使用win32 API來撥放,範例如下:

     

    Code Snippet

     

    '宣告

    Private Declare Auto Function PlaySound Lib "winmm.dll" _
          (ByVal lpszSoundName As String, ByVal hModule As Integer, _
           ByVal dwFlags As Integer) As Integer

        Private Const SND_FILENAME As Integer = &H20000

     

    '撥放聲音檔的function

     

        Public Function PlayWav(ByVal fileFullPath As String) _
            As Boolean

            'return true if successful, false if otherwise
            Dim bAns As Boolean, iRet As Integer = 0

            Try

                iRet = PlaySound(fileFullPath, 0, SND_FILENAME)

            Catch

            End Try

            Return iRet

        End Function

     

    '在button_click 事件呼叫PlayWav
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            PlayWav("C:\WINNT\Media\notify.wav")
        End Sub

     

     

    若您是使用 VS 2005, 則可以使用My.Computer.Audio.Play , 範例如下:

     

    Code Snippet

     

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            My.Computer.Audio.Play("C:\WINNT\Media\notify.wav")
        End Sub

     

     

     

    Regards,

     

    林泰宏 Terry Lin 
    技術支援工程師 Support Engineer
    Developer Support Team
    Global Technical Support Center - Taiwan

    技術支援服務首頁: http://support.microsoft.com

    技術支援專線: 0800-008-833(市話專用)/ 02-2999-8833

    2007年8月1日 下午 04:30