Play Sound - WAV file

Category: Sound

Date: 03-28-2012

Return to Index


 
'The sndPlaySound function plays a *.wav sound file. Microsoft recommends the
'use of the PlaySound function, but sndPlaySound is still supported in Windows.
 
'Primary Code:
Dim iReturn As Long, SoundFile As Asciiz * Max_Path
SoundFile = "sound.wav"
iReturn = sndPlaySound(SoundFile, %SND_ASYNC)   'play once, in background
iReturn = sndPlaySound(SoundFile, %SND_SYNC)    'play once, apps waits til song conpletes
iReturn = sndPlaySound(SoundFile, %SND_ASYNC Or %SND_LOOP)  'play continuously
iReturn = sndPlaySound("", %SND_ASYNC)   'stop once song has started
 
'Note: sndPlaySound can also play system sounds. See this snippet:  http://gbl_00328
 
'Compilable Example:
'press Start to play sound one time. Stop to cancel playing.
'this example actually plays 2 sounds - a file and a system sound
#Compiler PBWin 9, PBWin 10
#Compile EXE
#Dim All
#Include "Win32API.inc"
Global hDlg As Dword
 
Function PBMain() As Long
   Dialog New Pixels, 0, "Test Code",300,300,200,200, %WS_OverlappedWindow To hDlg
   Control Add Button, hDlg, 100,"Start", 50,10,100,20
   Control Add Button, hDlg, 200,"Stop", 50,40,100,20
   Dialog Show Modal hDlg Call DlgProc
End Function
 
CallBack Function DlgProc() As Long
   Local iReturn as Long, SndFile as Asciiz * %Max_Path
   If CB.Msg = %WM_Command AND CB.Ctl = 100 AND CB.Ctlmsg = %BN_Clicked Then
      'play sound once (in the background)
      SndFile = "gbsnippets.wav"
      iReturn = sndPlaySound(SndFile, %SND_ASYNC)
   End If
   If CB.Msg = %WM_Command AND CB.Ctl = 200 AND CB.Ctlmsg = %BN_Clicked Then
      'stop sound once it has started
      iReturn = sndPlaySound("", %SND_ASYNC)
   End If
End Function
 
'gbs_00208
'Date: 03-10-2012


created by gbSnippets
http://www.garybeene.com/sw/gbsnippets.htm