| \section{\module{winsound} --- |
| Sound-playing interface for Windows} |
| |
| \declaremodule{builtin}{winsound} |
| \platform{Windows} |
| \modulesynopsis{Access to the sound-playing machinery for Windows.} |
| \moduleauthor{Toby Dickenson}{htrd90@zepler.org} |
| \sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org} |
| |
| \versionadded{1.5.2} |
| |
| The \module{winsound} module provides access to the basic |
| sound-playing machinery provided by Windows platforms. It includes |
| functions and several constants. |
| |
| |
| \begin{funcdesc}{Beep}{frequency, duration} |
| Beep the PC's speaker. |
| The \var{frequency} parameter specifies frequency, in hertz, of the |
| sound, and must be in the range 37 through 32,767. |
| The \var{duration} parameter specifies the number of milliseconds the |
| sound should last. If the system is not |
| able to beep the speaker, \exception{RuntimeError} is raised. |
| \note{Under Windows 95 and 98, the Windows \cfunction{Beep()} |
| function exists but is useless (it ignores its arguments). In that |
| case Python simulates it via direct port manipulation (added in version |
| 2.1). It's unknown whether that will work on all systems.} |
| \versionadded{1.6} |
| \end{funcdesc} |
| |
| \begin{funcdesc}{PlaySound}{sound, flags} |
| Call the underlying \cfunction{PlaySound()} function from the |
| Platform API. The \var{sound} parameter may be a filename, audio |
| data as a string, or \code{None}. Its interpretation depends on the |
| value of \var{flags}, which can be a bit-wise ORed combination of |
| the constants described below. If the system indicates an error, |
| \exception{RuntimeError} is raised. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{MessageBeep}{\optional{type=\code{MB_OK}}} |
| Call the underlying \cfunction{MessageBeep()} function from the |
| Platform API. This plays a sound as specified in the registry. The |
| \var{type} argument specifies which sound to play; possible values |
| are \code{-1}, \code{MB_ICONASTERISK}, \code{MB_ICONEXCLAMATION}, |
| \code{MB_ICONHAND}, \code{MB_ICONQUESTION}, and \code{MB_OK}, all |
| described below. The value \code{-1} produces a ``simple beep''; |
| this is the final fallback if a sound cannot be played otherwise. |
| \versionadded{2.3} |
| \end{funcdesc} |
| |
| \begin{datadesc}{SND_FILENAME} |
| The \var{sound} parameter is the name of a WAV file. |
| Do not use with \constant{SND_ALIAS}. |
| \end{datadesc} |
| |
| \begin{datadesc}{SND_ALIAS} |
| The \var{sound} parameter is a sound association name from the |
| registry. If the registry contains no such name, play the system |
| default sound unless \constant{SND_NODEFAULT} is also specified. |
| If no default sound is registered, raise \exception{RuntimeError}. |
| Do not use with \constant{SND_FILENAME}. |
| |
| All Win32 systems support at least the following; most systems support |
| many more: |
| |
| \begin{tableii}{l|l}{code} |
| {\function{PlaySound()} \var{name}} |
| {Corresponding Control Panel Sound name} |
| \lineii{'SystemAsterisk'} {Asterisk} |
| \lineii{'SystemExclamation'}{Exclamation} |
| \lineii{'SystemExit'} {Exit Windows} |
| \lineii{'SystemHand'} {Critical Stop} |
| \lineii{'SystemQuestion'} {Question} |
| \end{tableii} |
| |
| For example: |
| |
| \begin{verbatim} |
| import winsound |
| # Play Windows exit sound. |
| winsound.PlaySound("SystemExit", winsound.SND_ALIAS) |
| |
| # Probably play Windows default sound, if any is registered (because |
| # "*" probably isn't the registered name of any sound). |
| winsound.PlaySound("*", winsound.SND_ALIAS) |
| \end{verbatim} |
| \end{datadesc} |
| |
| \begin{datadesc}{SND_LOOP} |
| Play the sound repeatedly. The \constant{SND_ASYNC} flag must also |
| be used to avoid blocking. Cannot be used with \constant{SND_MEMORY}. |
| \end{datadesc} |
| |
| \begin{datadesc}{SND_MEMORY} |
| The \var{sound} parameter to \function{PlaySound()} is a memory |
| image of a WAV file, as a string. |
| |
| \note{This module does not support playing from a memory |
| image asynchronously, so a combination of this flag and |
| \constant{SND_ASYNC} will raise \exception{RuntimeError}.} |
| \end{datadesc} |
| |
| \begin{datadesc}{SND_PURGE} |
| Stop playing all instances of the specified sound. |
| \end{datadesc} |
| |
| \begin{datadesc}{SND_ASYNC} |
| Return immediately, allowing sounds to play asynchronously. |
| \end{datadesc} |
| |
| \begin{datadesc}{SND_NODEFAULT} |
| If the specified sound cannot be found, do not play the system default |
| sound. |
| \end{datadesc} |
| |
| \begin{datadesc}{SND_NOSTOP} |
| Do not interrupt sounds currently playing. |
| \end{datadesc} |
| |
| \begin{datadesc}{SND_NOWAIT} |
| Return immediately if the sound driver is busy. |
| \end{datadesc} |
| |
| \begin{datadesc}{MB_ICONASTERISK} |
| Play the \code{SystemDefault} sound. |
| \end{datadesc} |
| |
| \begin{datadesc}{MB_ICONEXCLAMATION} |
| Play the \code{SystemExclamation} sound. |
| \end{datadesc} |
| |
| \begin{datadesc}{MB_ICONHAND} |
| Play the \code{SystemHand} sound. |
| \end{datadesc} |
| |
| \begin{datadesc}{MB_ICONQUESTION} |
| Play the \code{SystemQuestion} sound. |
| \end{datadesc} |
| |
| \begin{datadesc}{MB_OK} |
| Play the \code{SystemDefault} sound. |
| \end{datadesc} |