Up to date
This page is up to date for Godot 4.1
. If you still find outdated information, please open an issue.
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
| ||
| ||
| ||
| ||
| ||
| ||
|
Methods
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()
void set_data ( PackedByteArray value )
PackedByteArray get_data ( )
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
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
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
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
, 22050
, 32000
, 44100
, and 48000
.
According to the Nyquist-Shannon sampling theorem, there is no quality difference to human hearing when going past 40,000 Hz (since most humans can only hear up to ~20,000 Hz, often less). If you are using lower-pitched sounds such as voices, lower sample rates such as 32000
or 22050
may be usable with no loss in quality.
bool stereo = false
If true
, audio is stereo.
Method Descriptions
Error save_to_wav ( String path )
Saves the AudioStreamWAV as a WAV file to path
. Samples with IMA ADPCM format can’t be saved.
Note: A .wav
extension is automatically appended to path
if it is missing.