--- orphan: true --- # {py:mod}`simvx.core.audio_backend._miniaudio` ```{py:module} simvx.core.audio_backend._miniaudio ``` ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`MiniaudioBackend ` - ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend :summary: ``` ```` ### API `````{py:class} MiniaudioBackend(sample_rate: int = _DEFAULT_SAMPLE_RATE, nchannels: int = _DEFAULT_CHANNELS) :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.__init__ ``` ````{py:method} play_audio(stream: simvx.core.audio.AudioClip, *, mode: str = 'non_positional', position: typing.Any = None, volume_db: float = 0.0, pitch: float = 1.0, loop: bool = False, bus: str = 'Master', max_distance: float = 100.0, from_position: float = 0.0, pan: float = 0.0, gain_db: float = 0.0) -> int | None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.play_audio ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.play_audio ``` ```` ````{py:method} stop_audio(channel_id: int) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.stop_audio ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.stop_audio ``` ```` ````{py:method} pause_audio(channel_id: int) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.pause_audio ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.pause_audio ``` ```` ````{py:method} resume_audio(channel_id: int) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.resume_audio ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.resume_audio ``` ```` ````{py:method} update_audio_2d(channel_id: int, volume_db: float, pan: float) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.update_audio_2d ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.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._miniaudio.MiniaudioBackend.update_audio_3d ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.update_audio_3d ``` ```` ````{py:method} set_pitch(channel_id: int, pitch: float) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.set_pitch ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.set_pitch ``` ```` ````{py:method} get_playback_position(channel_id: int) -> float :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.get_playback_position ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.get_playback_position ``` ```` ````{py:method} is_channel_active(channel_id: int) -> bool :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.is_channel_active ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.is_channel_active ``` ```` ````{py:method} open_stream(*, volume_db: float = 0.0, bus: str = 'Master', buffer_seconds: float = 0.5, stream: simvx.core.audio.AudioClip | None = None) -> int :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.open_stream ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.open_stream ``` ```` ````{py:method} feed_audio_chunk(channel_id: int, chunk: bytes) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.feed_audio_chunk ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.feed_audio_chunk ``` ```` ````{py:method} set_listener_position(x: float, y: float, z: float) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.set_listener_position ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.set_listener_position ``` ```` ````{py:method} set_listener_velocity(x: float, y: float, z: float) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.set_listener_velocity ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.set_listener_velocity ``` ```` ````{py:method} set_listener_direction(x: float, y: float, z: float) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.set_listener_direction ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.set_listener_direction ``` ```` ````{py:method} set_listener_world_up(x: float, y: float, z: float) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.set_listener_world_up ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.set_listener_world_up ``` ```` ````{py:method} shutdown() -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.shutdown ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.shutdown ``` ```` ````{py:method} list_capabilities() -> frozenset[simvx.core.audio_protocol.Capability] :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.list_capabilities ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.list_capabilities ``` ```` ````{py:method} sync_bus_layout(layout: simvx.core.audio_bus.AudioBusLayout) -> None :canonical: simvx.core.audio_backend._miniaudio.MiniaudioBackend.sync_bus_layout ```{autodoc2-docstring} simvx.core.audio_backend._miniaudio.MiniaudioBackend.sync_bus_layout ``` ```` `````