WinAPI:winmm:PlaySound: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
== PlaySound Function ==
== PlaySound Function ==
References:
* http://msdn2.microsoft.com/en-us/library/ms712879.aspx
* [http://publicsvn.songbirdnest.com/browser/trunk/tools/win32/nsis/examples/System/System.nsh?rev=5425#L143 NSIS Data Structures Examples]
This will play a wav file.  It is a function that is part of winmm.dll  It is very easy to play the sound too.
This will play a wav file.  It is a function that is part of winmm.dll  It is very easy to play the sound too.



Revision as of 14:11, 20 August 2007

PlaySound Function

References:

This will play a wav file. It is a function that is part of winmm.dll It is very easy to play the sound too.

Asynchronous Playing

The following code will start playing the wav file as your installer continues. This is good if you want a little entertainment with a long install.

Function .onInit
  InitPluginsDir
  File /oname=$PLUGINSDIR\sound.wav "batcave.wav"
 
; Play the sound or song
  StrCpy $0 "$PLUGINSDIR\sound.wav"  ; location of the wav file
  IntOp $1 "SND_ASYNC" || 1
  System::Call 'winmm::PlaySound(t r0, i 0, i r1) b'
FunctionEnd

Stopping the Sound

Simply call the following code anywhere in your installer (has to be within a function, macro, or section). The sound/music will immediately stop once it is called.

System::Call 'winmm::PlaySound(i, i, i) b'

Synchronous Playing

This will play the sound but the installer won't continue until the sound is finished playing.

Function .onInit
  InitPluginsDir
  File /oname=$PLUGINSDIR\sound.wav "batcave.wav"
 
; Play the sound or song
  StrCpy $0 "$PLUGINSDIR\sound.wav"
  System::Call 'winmm::PlaySound(t r0, i, i) b'
FunctionEnd

keyword "Play Sound"

WinAPI:winmm