Beep Procedure |
Microsoft.VisualBasic.Interaction
Beep
Sounds a tone through the computer's speaker
Private Sub Main( ) iVoid = DoSomeLongFunction( ) Beep MsgBox "Finished!" End Sub
We have found the Beep statement to be completely unreliable, and therefore we never use it in applications intended for distribution.
If you do decide to use the Beep statement, please remember that its overuse will not endear you to your users!
The frequency and duration of the tone depends on the computer's hardware. Bear in mind that on some systems, a mouse click is louder than the beep!
Since the successful operation of the Beep statement does not require the presence of any multimedia hardware (such as a sound card, for example), it can be used when a system is not configured to support sound. For example, if the following is defined in the declarations section of a code module:
Declare Function waveOutGetNumDevs Lib "winmm.dll" ( ) As Long Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" (ByVal lpszName As String, _ ByVal hModule As Long, ByVal dwFlags As Long) _ As Long Public Const SND_APPLICATION = &H80 Public Const SND_ASYNC = &H1 Public Const SND_FILENAME = &H20000 Public Const SND_NODEFAULT = &H2 Public HasSound As Boolean Public Function IsSoundSupported( ) As Boolean If (waveOutGetNumDevs > 0) Then _ IsSoundSupported = True End Function
then the following procedure takes advantage of any existing sound hardware to play a wave file or simply beeps the built-in PC speaker if no sound hardware is found.
Private Sub Form_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles MyBase.Load Dim intCtr As Integer HasSound = IsSoundSupported( ) If HasSound Then Call PlaySound("c:\windows\media\tada.wav", 0, _ SND_FILENAME Or SND_NODEFAULT) Else For intCtr = 0 To 3 Beep Next End If End Sub