audiomixer

Support for audio mixing

class audiomixer.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.

playing :bool

True when any voice is being output. (read-only)

sample_rate :int

32 bit value that dictates how quickly samples are played in Hertz (cycles per second).

voice :Tuple[MixerVoice, ...]

A tuple of the mixer’s audiomixer.MixerVoice object(s).

>>> mixer.voice
(<MixerVoice>,)
deinit(self)

Deinitialises the Mixer and releases any hardware resources for reuse.

__enter__(self)

No-op used by Context Managers.

__exit__(self)

Automatically deinitializes the hardware when exiting a context. See Lifetime and ContextManagers for more info.

play(self, sample: audiocore._AudioSample, *, voice: int = 0, loop: bool = 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.

stop_voice(self, voice: int = 0)

Stops playback of the sample on the given voice.

class audiomixer.MixerVoice

Voice objects used with Mixer

Used to access and control samples with audiomixer.Mixer.

level :float

The volume level of a voice, as a floating point number between 0 and 1.

playing :bool

True when this voice is being output. (read-only)

play(self, sample: audiocore._AudioSample, *, loop: bool = 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.

stop(self)

Stops playback of the sample on this voice.