AudioStreamWAV

继承: AudioStream < Resource < RefCounted < Object

Stores audio data loaded from WAV files.

描述

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.

属性

方法


枚举

enum Format:

Format FORMAT_8_BITS = 0

8-bit PCM audio codec.

Format FORMAT_16_BITS = 1

16-bit PCM audio codec.

Format FORMAT_IMA_ADPCM = 2

Audio is lossily compressed as IMA ADPCM.

Format FORMAT_QOA = 3

Audio is lossily compressed as Quite OK Audio.


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.


属性说明

PackedByteArray data = PackedByteArray()

Contains the audio data in bytes.

Note: If format is set to FORMAT_8_BITS, this property expects signed 8-bit PCM data. To convert from unsigned 8-bit PCM, subtract 128 from each byte.

Note: If format is set to FORMAT_QOA, this property expects data from a full QOA file.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedByteArray for more details.


Format format = 0

Audio format. See Format constants for values.


int loop_begin = 0

  • void set_loop_begin ( value: int )
  • int get_loop_begin ( )

The loop start point (in number of samples, relative to the beginning of the stream).


int loop_end = 0

  • void set_loop_end ( value: int )
  • int get_loop_end ( )

The loop end point (in number of samples, relative to the beginning of the stream).


LoopMode loop_mode = 0

The loop mode. See LoopMode constants for values.


int mix_rate = 44100

  • void set_mix_rate ( value: int )
  • 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, 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

  • void set_stereo ( value: bool )
  • bool is_stereo ( )

If true, audio is stereo.


方法说明

Error save_to_wav ( path: String )

Saves the AudioStreamWAV as a WAV file to path. Samples with IMA ADPCM or Quite OK Audio formats can't be saved.

Note: A .wav extension is automatically appended to path if it is missing.

1

本方法通常需要用户覆盖才能生效。

2

本方法无副作用,不会修改该实例的任何成员变量。

3

本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。

4

本方法用于构造某个类型。

5

调用本方法无需实例,可直接使用类名进行调用。

6

本方法描述的是使用本类型作为左操作数的有效运算符。

7

这个值是由下列位标志构成位掩码的整数。

8

无返回值。