Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

AudioStreamWAV

Inherits: AudioStream < Resource < RefCounted < Object

Stores audio data loaded from WAV files.

Description

AudioStreamWAV stores sound samples loaded from WAV files. To play the stored sound, use an AudioStreamPlayer (for non-positional audio) or AudioStreamPlayer2D/AudioStreamPlayer3D (for positional audio). The sound can be looped.

This class can also be used to store dynamically-generated PCM audio data. See also AudioStreamGenerator for procedural audio generation.

Properties

PackedByteArray

data

PackedByteArray()

Format

format

0

int

loop_begin

0

int

loop_end

0

LoopMode

loop_mode

0

int

mix_rate

44100

bool

stereo

false

Methods

Error

save_to_wav ( String path )


Enumerations

enum Format:

Format FORMAT_8_BITS = 0

8-bit audio codec.

Format FORMAT_16_BITS = 1

16-bit audio codec.

Format FORMAT_IMA_ADPCM = 2

Audio is compressed using IMA ADPCM.


enum LoopMode:

LoopMode LOOP_DISABLED = 0

Audio does not loop.

LoopMode LOOP_FORWARD = 1

Audio loops the data between loop_begin and loop_end, playing forward only.

LoopMode LOOP_PINGPONG = 2

Audio loops the data between loop_begin and loop_end, playing back and forth.

LoopMode LOOP_BACKWARD = 3

Audio loops the data between loop_begin and loop_end, playing backward only.


Property Descriptions

PackedByteArray data = PackedByteArray()

Contains the audio data in bytes.

Note: This property expects signed PCM8 data. To convert unsigned PCM8 to signed PCM8, subtract 128 from each byte.


Format format = 0

Audio format. See Format constants for values.


int loop_begin = 0

  • void set_loop_begin ( int value )

  • int get_loop_begin ( )

The loop start point (in number of samples, relative to the beginning of the sample). This information will be imported automatically from the WAV file if present.


int loop_end = 0

  • void set_loop_end ( int value )

  • int get_loop_end ( )

The loop end point (in number of samples, relative to the beginning of the sample). This information will be imported automatically from the WAV file if present.


LoopMode loop_mode = 0

The loop mode. This information will be imported automatically from the WAV file if present. See LoopMode constants for values.


int mix_rate = 44100

  • void set_mix_rate ( int value )

  • int get_mix_rate ( )

The sample rate for mixing this audio. Higher values require more storage space, but result in better quality.

In games, common sample rates in use are 11025, 16000