:mod:`audiomixer` ================= .. py:module:: audiomixer .. autoapi-nested-parse:: Support for audio mixing .. py:class:: Mixer(voice_count: int = 2, buffer_size: int = 1024, channel_count: int = 2, bits_per_sample: int = 16, samples_signed: bool = True, sample_rate: int = 8000) Mixes one or more audio samples together into one sample. .. attribute:: playing :annotation: :Any True when any voice is being output. (read-only) .. attribute:: sample_rate :annotation: :Any 32 bit value that dictates how quickly samples are played in Hertz (cycles per second). .. attribute:: voice :annotation: :Any A tuple of the mixer's `audiomixer.MixerVoice` object(s). .. code-block:: python >>> mixer.voice (,) .. method:: deinit(self) Deinitialises the Mixer and releases any hardware resources for reuse. .. method:: __enter__(self) No-op used by Context Managers. .. method:: __exit__(self) Automatically deinitializes the hardware when exiting a context. See :ref:`lifetime-and-contextmanagers` for more info. .. method:: play(self, sample: Any, *, voice: Any = 0, loop: Any = False) Plays the sample once when loop=False and continuously when loop=True. Does not block. Use `playing` to block. Sample must be an `audiocore.WaveFile`, `audiocore.RawSample`, or `audiomixer.Mixer`. The sample must match the Mixer's encoding settings given in the constructor. .. method:: stop_voice(self, voice: Any = 0) Stops playback of the sample on the given voice. .. py:class:: MixerVoice Voice objects used with Mixer Used to access and control samples with `audiomixer.Mixer`. .. attribute:: level :annotation: :Any The volume level of a voice, as a floating point number between 0 and 1. .. attribute:: playing :annotation: :Any True when this voice is being output. (read-only) .. method:: play(self, sample: Any, *, loop: Any = False) Plays the sample once when ``loop=False``, and continuously when ``loop=True``. Does not block. Use `playing` to block. Sample must be an `audiocore.WaveFile`, `audiomixer.Mixer` or `audiocore.RawSample`. The sample must match the `audiomixer.Mixer`'s encoding settings given in the constructor. .. method:: stop(self) Stops playback of the sample on this voice.