What is winsound.PlaySound() in Python 3?
Overview
The winsound module in Python 3 provides an interface to interact with the sound playing machinery in Windows. The PlaySound function plays or stops a given WAV sound file. The syntax of the PlaySound function is as follows:
winsound.PlaySound(sound, flags)
Parameters
soundis an object that specifies the that is to be played. The following table summarizes the built-in sounds in every Windows platform:sound This can be a file name, a built-in sound name, or a sound-like object in memory
sound string |
Corresponding control panel sound |
|---|---|
'SystemAsterisk' |
Asterisk |
'SystemExclamation' |
Exclamation |
'SystemExit' |
Exit Windows |
'SystemHand' |
Critical stop |
'SystemQuestion' |
Question |
Note: If a built-in
soundis passed, thenflagsmust include thewinsound.SND_ALIASflag.
flagsis a parameter that takes inwinsound.SND_flags. These flags provide additional commands to the play sound function. The following table summarizes the different flags and their usage:
| Flag | Usage |
|---|---|
winsound.SND_FILENAME |
Specifies that the sound parameter given is a WAV file name. |
winsound.SND_ALIAS |
Specifies that the sound parameter given is a built-in sound. If the built-in sound does not exists, the default system sound is played, unless winsound.SND_NODEFAULT is specified. |
winsound.SND_LOOP |
Specifies that the sound must be played repeatedly. This is a blocking call; in order to play the sound in a loop in the background, winsound.SND.ASYNC must be specified. |
winsound.SND_MEMORY |
Specifies that the sound is a byte-like object that contains data in WAV format. Using this flag together with winsound.SND_ASYNC will raise a RuntimeError. |
winsound.SND_PURGE |
Specifies that all instances of the given sound must be stopped. This flag is not supported on modern Windows platforms. |
winsound.SND_ASYNC |
Specifies that the function should return immediately, allowing for the sound to play in the background. |
winsound.SND_NODEFAULT |
Specifies that if the specified sound is not found, the system default sound must not be played. |
winsound.SND_NOSTOP |
Specifies that sounds currently playing must not be interrupted. |
winsound.SND_NOWAIT |
Specifies that the function must return if the sound driver is busy. This flag is not supported on modern Windows platforms. |
Return value
PlaySoundreturnsNone.
Example
The following code provides an example of how to use the PlaySound function:
import winsoundwinsoud.PlaySound('SystemHand', winsound.SND_ALIAS)winsoud.PlaySound('abcd', winsound.SND_ALIAS)winsound.PlaySound('Fire_Alarm.WAV', winsound.SND_FILENAME)
In the example above, in the first PlaySound function call, the Critical Stop built-in sound is played. In the second PlaySound function call, the default built-in sound is played, since abcd is not a built-in sound in Windows. The last PlaySound function call passes the name of the sound file as the sound argument. To specify that the passed sound argument is the name of a sound file, the winsound.SND_FILENAME flag is used. Therefore, if the Fire_Alarm.WAV file exists, it will be played; otherwise, a beep sound will be played.
Free Resources