# {py:mod}`simvx.core.audio_backend` ```{py:module} simvx.core.audio_backend ``` ```{autodoc2-docstring} simvx.core.audio_backend :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`MiniaudioBackend ` - ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.core.audio_backend.log :summary: ``` * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.audio_backend.__all__ :summary: ``` ```` ### API ````{py:data} log :canonical: simvx.core.audio_backend.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.core.audio_backend.log ``` ```` ````{py:data} __all__ :canonical: simvx.core.audio_backend.__all__ :value: > ['MiniaudioBackend'] ```{autodoc2-docstring} simvx.core.audio_backend.__all__ ``` ```` `````{py:class} MiniaudioBackend(sample_rate: int = _SAMPLE_RATE, nchannels: int = _NCHANNELS) :canonical: simvx.core.audio_backend.MiniaudioBackend ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.__init__ ``` ````{py:method} play_audio(stream: simvx.core.audio.AudioStream, *, volume_db: float = 0.0, pitch: float = 1.0, loop: bool = False, bus: str = 'master') -> int | None :canonical: simvx.core.audio_backend.MiniaudioBackend.play_audio ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.play_audio ``` ```` ````{py:method} play_audio_2d(stream: simvx.core.audio.AudioStream, *, position: typing.Any = None, volume_db: float = 0.0, pitch: float = 1.0, loop: bool = False, bus: str = 'sfx', max_distance: float = 2000.0) -> int | None :canonical: simvx.core.audio_backend.MiniaudioBackend.play_audio_2d ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.play_audio_2d ``` ```` ````{py:method} play_audio_3d(stream: simvx.core.audio.AudioStream, *, position: typing.Any = None, volume_db: float = 0.0, pitch: float = 1.0, loop: bool = False, bus: str = 'sfx', max_distance: float = 100.0) -> int | None :canonical: simvx.core.audio_backend.MiniaudioBackend.play_audio_3d ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.play_audio_3d ``` ```` ````{py:method} stop_audio(channel_id: int) -> None :canonical: simvx.core.audio_backend.MiniaudioBackend.stop_audio ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.stop_audio ``` ```` ````{py:method} pause_audio(channel_id: int) -> None :canonical: simvx.core.audio_backend.MiniaudioBackend.pause_audio ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.pause_audio ``` ```` ````{py:method} resume_audio(channel_id: int) -> None :canonical: simvx.core.audio_backend.MiniaudioBackend.resume_audio ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.resume_audio ``` ```` ````{py:method} update_audio_2d(channel_id: int, volume_db: float, pan: float) -> None :canonical: simvx.core.audio_backend.MiniaudioBackend.update_audio_2d ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.update_audio_2d ``` ```` ````{py:method} update_audio_3d(channel_id: int, volume_db: float, pan: float, pitch: float) -> None :canonical: simvx.core.audio_backend.MiniaudioBackend.update_audio_3d ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.update_audio_3d ``` ```` ````{py:method} get_playback_position(channel_id: int) -> float :canonical: simvx.core.audio_backend.MiniaudioBackend.get_playback_position ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.get_playback_position ``` ```` ````{py:method} open_stream(*, volume_db: float = 0.0, pitch: float = 1.0, bus: str = 'master') -> int :canonical: simvx.core.audio_backend.MiniaudioBackend.open_stream ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.open_stream ``` ```` ````{py:method} feed_audio_chunk(channel_id: int, chunk: bytes) -> None :canonical: simvx.core.audio_backend.MiniaudioBackend.feed_audio_chunk ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.feed_audio_chunk ``` ```` ````{py:method} shutdown() -> None :canonical: simvx.core.audio_backend.MiniaudioBackend.shutdown ```{autodoc2-docstring} simvx.core.audio_backend.MiniaudioBackend.shutdown ``` ```` `````