.. include:: headings.inc .. currentmodule:: adv .. _adv.Sound: ========================================================================================================================================== |phoenix_title| **Sound** ========================================================================================================================================== This class represents a short sound (loaded from Windows ``WAV`` file), that can be stored in memory and played. Currently this class is implemented on Windows and Unix (and uses either Open Sound System or Simple DirectMedia Layer). | |class_hierarchy| Inheritance Diagram ===================================== Inheritance diagram for class **Sound** .. raw:: html

Inheritance diagram of Sound

| |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~Sound.__init__` Default constructor. :meth:`~Sound.Create` Constructs a wave object from a file or resource. :meth:`~Sound.CreateFromData` Create a sound object from data in a memory buffer in ``WAV`` format. :meth:`~Sound.IsOk` Returns ``True`` if the object contains a successfully loaded file or resource, ``False`` otherwise. :meth:`~Sound.Play` Plays the sound file. :meth:`~Sound.PlaySound` Plays the sound file. :meth:`~Sound.Stop` If a sound is played, this function stops it. :meth:`~Sound.__nonzero__` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: Sound(Object) This class represents a short sound (loaded from Windows ``WAV`` file), that can be stored in memory and played. **Possible constructors**:: Sound() Sound(fileName) .. method:: __init__(self, *args, **kw) |overload| **Overloaded Implementations**: **~~~** **__init__** `(self)` Default constructor. **~~~** **__init__** `(self, fileName)` Constructs a wave object from a file or, under Windows, from a Windows resource. Call :meth:`IsOk` to determine whether this succeeded. :param `fileName`: The filename or Windows resource. :type `fileName`: string ``True`` if fileName is a resource, ``False`` if it is a filename. **~~~** .. method:: Create(self, *args, **kw) Constructs a wave object from a file or resource. :param `fileName`: The filename or Windows resource. :type `fileName`: string ``True`` if fileName is a resource, ``False`` if it is a filename. :returns: ``True`` if the call was successful, ``False`` otherwise. .. method:: CreateFromData(self, data) Create a sound object from data in a memory buffer in ``WAV`` format. :rtype: `bool` .. method:: IsOk(self) Returns ``True`` if the object contains a successfully loaded file or resource, ``False`` otherwise. :rtype: `bool` .. method:: Play(self, flags=SOUND_ASYNC) Plays the sound file. If another sound is playing, it will be interrupted. Returns ``True`` on success, ``False`` otherwise. Note that in general it is possible to delete the object which is being asynchronously played any time after calling this function and the sound would continue playing, however this currently doesn't work under Windows for sound objects loaded from memory data. The possible values for `flags` are: - ``SOUND_SYNC``: ``Play`` will block and wait until the sound is replayed. - ``SOUND_ASYNC``: Sound is played asynchronously, ``Play`` returns immediately. - SOUND_ASYNC|SOUND_LOOP: Sound is played asynchronously and loops until another sound is played, :meth:`Stop` is called or the program terminates. The static form is shorthand for this code: :: wx.Sound(filename).Play(flags) :param `flags`: :rtype: `bool` .. staticmethod:: PlaySound(filename, flags=SOUND_ASYNC) Plays the sound file. If another sound is playing, it will be interrupted. Returns ``True`` on success, ``False`` otherwise. Note that in general it is possible to delete the object which is being asynchronously played any time after calling this function and the sound would continue playing, however this currently doesn't work under Windows for sound objects loaded from memory data. The possible values for `flags` are: - ``SOUND_SYNC``: ``Play`` will block and wait until the sound is replayed. - ``SOUND_ASYNC``: Sound is played asynchronously, ``Play`` returns immediately. - SOUND_ASYNC|SOUND_LOOP: Sound is played asynchronously and loops until another sound is played, :meth:`Stop` is called or the program terminates. The static form is shorthand for this code: :: wx.Sound(filename).Play(flags) :param `filename`: :type `filename`: string :param `flags`: :rtype: `bool` .. staticmethod:: Stop() If a sound is played, this function stops it. .. method:: __nonzero__(self) :rtype: `int`