mirror of
https://github.com/python/cpython.git
synced 2024-11-28 12:31:14 +08:00
113 lines
3.8 KiB
TeX
113 lines
3.8 KiB
TeX
\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
|
|
two 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{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}
|