17db96d56Sopenharmony_ci:mod:`winsound` --- Sound-playing interface for Windows 27db96d56Sopenharmony_ci======================================================= 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci.. module:: winsound 57db96d56Sopenharmony_ci :platform: Windows 67db96d56Sopenharmony_ci :synopsis: Access to the sound-playing machinery for Windows. 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci.. moduleauthor:: Toby Dickenson <htrd90@zepler.org> 97db96d56Sopenharmony_ci.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org> 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci-------------- 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ciThe :mod:`winsound` module provides access to the basic sound-playing machinery 147db96d56Sopenharmony_ciprovided by Windows platforms. It includes functions and several constants. 157db96d56Sopenharmony_ci 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_ci.. function:: Beep(frequency, duration) 187db96d56Sopenharmony_ci 197db96d56Sopenharmony_ci Beep the PC's speaker. The *frequency* parameter specifies frequency, in hertz, 207db96d56Sopenharmony_ci of the sound, and must be in the range 37 through 32,767. The *duration* 217db96d56Sopenharmony_ci parameter specifies the number of milliseconds the sound should last. If the 227db96d56Sopenharmony_ci system is not able to beep the speaker, :exc:`RuntimeError` is raised. 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci 257db96d56Sopenharmony_ci.. function:: PlaySound(sound, flags) 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ci Call the underlying :c:func:`PlaySound` function from the Platform API. The 287db96d56Sopenharmony_ci *sound* parameter may be a filename, a system sound alias, audio data as a 297db96d56Sopenharmony_ci :term:`bytes-like object`, or ``None``. Its 307db96d56Sopenharmony_ci interpretation depends on the value of *flags*, which can be a bitwise ORed 317db96d56Sopenharmony_ci combination of the constants described below. If the *sound* parameter is 327db96d56Sopenharmony_ci ``None``, any currently playing waveform sound is stopped. If the system 337db96d56Sopenharmony_ci indicates an error, :exc:`RuntimeError` is raised. 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_ci 367db96d56Sopenharmony_ci.. function:: MessageBeep(type=MB_OK) 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_ci Call the underlying :c:func:`MessageBeep` function from the Platform API. This 397db96d56Sopenharmony_ci plays a sound as specified in the registry. The *type* argument specifies which 407db96d56Sopenharmony_ci sound to play; possible values are ``-1``, ``MB_ICONASTERISK``, 417db96d56Sopenharmony_ci ``MB_ICONEXCLAMATION``, ``MB_ICONHAND``, ``MB_ICONQUESTION``, and ``MB_OK``, all 427db96d56Sopenharmony_ci described below. The value ``-1`` produces a "simple beep"; this is the final 437db96d56Sopenharmony_ci fallback if a sound cannot be played otherwise. If the system indicates an 447db96d56Sopenharmony_ci error, :exc:`RuntimeError` is raised. 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ci 477db96d56Sopenharmony_ci.. data:: SND_FILENAME 487db96d56Sopenharmony_ci 497db96d56Sopenharmony_ci The *sound* parameter is the name of a WAV file. Do not use with 507db96d56Sopenharmony_ci :const:`SND_ALIAS`. 517db96d56Sopenharmony_ci 527db96d56Sopenharmony_ci 537db96d56Sopenharmony_ci.. data:: SND_ALIAS 547db96d56Sopenharmony_ci 557db96d56Sopenharmony_ci The *sound* parameter is a sound association name from the registry. If the 567db96d56Sopenharmony_ci registry contains no such name, play the system default sound unless 577db96d56Sopenharmony_ci :const:`SND_NODEFAULT` is also specified. If no default sound is registered, 587db96d56Sopenharmony_ci raise :exc:`RuntimeError`. Do not use with :const:`SND_FILENAME`. 597db96d56Sopenharmony_ci 607db96d56Sopenharmony_ci All Win32 systems support at least the following; most systems support many 617db96d56Sopenharmony_ci more: 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_ci +--------------------------+----------------------------------------+ 647db96d56Sopenharmony_ci | :func:`PlaySound` *name* | Corresponding Control Panel Sound name | 657db96d56Sopenharmony_ci +==========================+========================================+ 667db96d56Sopenharmony_ci | ``'SystemAsterisk'`` | Asterisk | 677db96d56Sopenharmony_ci +--------------------------+----------------------------------------+ 687db96d56Sopenharmony_ci | ``'SystemExclamation'`` | Exclamation | 697db96d56Sopenharmony_ci +--------------------------+----------------------------------------+ 707db96d56Sopenharmony_ci | ``'SystemExit'`` | Exit Windows | 717db96d56Sopenharmony_ci +--------------------------+----------------------------------------+ 727db96d56Sopenharmony_ci | ``'SystemHand'`` | Critical Stop | 737db96d56Sopenharmony_ci +--------------------------+----------------------------------------+ 747db96d56Sopenharmony_ci | ``'SystemQuestion'`` | Question | 757db96d56Sopenharmony_ci +--------------------------+----------------------------------------+ 767db96d56Sopenharmony_ci 777db96d56Sopenharmony_ci For example:: 787db96d56Sopenharmony_ci 797db96d56Sopenharmony_ci import winsound 807db96d56Sopenharmony_ci # Play Windows exit sound. 817db96d56Sopenharmony_ci winsound.PlaySound("SystemExit", winsound.SND_ALIAS) 827db96d56Sopenharmony_ci 837db96d56Sopenharmony_ci # Probably play Windows default sound, if any is registered (because 847db96d56Sopenharmony_ci # "*" probably isn't the registered name of any sound). 857db96d56Sopenharmony_ci winsound.PlaySound("*", winsound.SND_ALIAS) 867db96d56Sopenharmony_ci 877db96d56Sopenharmony_ci 887db96d56Sopenharmony_ci.. data:: SND_LOOP 897db96d56Sopenharmony_ci 907db96d56Sopenharmony_ci Play the sound repeatedly. The :const:`SND_ASYNC` flag must also be used to 917db96d56Sopenharmony_ci avoid blocking. Cannot be used with :const:`SND_MEMORY`. 927db96d56Sopenharmony_ci 937db96d56Sopenharmony_ci 947db96d56Sopenharmony_ci.. data:: SND_MEMORY 957db96d56Sopenharmony_ci 967db96d56Sopenharmony_ci The *sound* parameter to :func:`PlaySound` is a memory image of a WAV file, as a 977db96d56Sopenharmony_ci :term:`bytes-like object`. 987db96d56Sopenharmony_ci 997db96d56Sopenharmony_ci .. note:: 1007db96d56Sopenharmony_ci 1017db96d56Sopenharmony_ci This module does not support playing from a memory image asynchronously, so a 1027db96d56Sopenharmony_ci combination of this flag and :const:`SND_ASYNC` will raise :exc:`RuntimeError`. 1037db96d56Sopenharmony_ci 1047db96d56Sopenharmony_ci 1057db96d56Sopenharmony_ci.. data:: SND_PURGE 1067db96d56Sopenharmony_ci 1077db96d56Sopenharmony_ci Stop playing all instances of the specified sound. 1087db96d56Sopenharmony_ci 1097db96d56Sopenharmony_ci .. note:: 1107db96d56Sopenharmony_ci 1117db96d56Sopenharmony_ci This flag is not supported on modern Windows platforms. 1127db96d56Sopenharmony_ci 1137db96d56Sopenharmony_ci 1147db96d56Sopenharmony_ci.. data:: SND_ASYNC 1157db96d56Sopenharmony_ci 1167db96d56Sopenharmony_ci Return immediately, allowing sounds to play asynchronously. 1177db96d56Sopenharmony_ci 1187db96d56Sopenharmony_ci 1197db96d56Sopenharmony_ci.. data:: SND_NODEFAULT 1207db96d56Sopenharmony_ci 1217db96d56Sopenharmony_ci If the specified sound cannot be found, do not play the system default sound. 1227db96d56Sopenharmony_ci 1237db96d56Sopenharmony_ci 1247db96d56Sopenharmony_ci.. data:: SND_NOSTOP 1257db96d56Sopenharmony_ci 1267db96d56Sopenharmony_ci Do not interrupt sounds currently playing. 1277db96d56Sopenharmony_ci 1287db96d56Sopenharmony_ci 1297db96d56Sopenharmony_ci.. data:: SND_NOWAIT 1307db96d56Sopenharmony_ci 1317db96d56Sopenharmony_ci Return immediately if the sound driver is busy. 1327db96d56Sopenharmony_ci 1337db96d56Sopenharmony_ci .. note:: 1347db96d56Sopenharmony_ci 1357db96d56Sopenharmony_ci This flag is not supported on modern Windows platforms. 1367db96d56Sopenharmony_ci 1377db96d56Sopenharmony_ci 1387db96d56Sopenharmony_ci.. data:: MB_ICONASTERISK 1397db96d56Sopenharmony_ci 1407db96d56Sopenharmony_ci Play the ``SystemDefault`` sound. 1417db96d56Sopenharmony_ci 1427db96d56Sopenharmony_ci 1437db96d56Sopenharmony_ci.. data:: MB_ICONEXCLAMATION 1447db96d56Sopenharmony_ci 1457db96d56Sopenharmony_ci Play the ``SystemExclamation`` sound. 1467db96d56Sopenharmony_ci 1477db96d56Sopenharmony_ci 1487db96d56Sopenharmony_ci.. data:: MB_ICONHAND 1497db96d56Sopenharmony_ci 1507db96d56Sopenharmony_ci Play the ``SystemHand`` sound. 1517db96d56Sopenharmony_ci 1527db96d56Sopenharmony_ci 1537db96d56Sopenharmony_ci.. data:: MB_ICONQUESTION 1547db96d56Sopenharmony_ci 1557db96d56Sopenharmony_ci Play the ``SystemQuestion`` sound. 1567db96d56Sopenharmony_ci 1577db96d56Sopenharmony_ci 1587db96d56Sopenharmony_ci.. data:: MB_OK 1597db96d56Sopenharmony_ci 1607db96d56Sopenharmony_ci Play the ``SystemDefault`` sound. 1617db96d56Sopenharmony_ci 162