AudioServer

Inherits: Object

Server interface for low-level audio access.

Description

AudioServer is a low-level server interface for audio access. It is in charge of creating sample data (playable audio) as well as its playback via a voice interface.

Tutorials

Properties

int bus_count 1
String device "Default"
float global_rate_scale 1.0

Methods

void add_bus ( int at_position=-1 )
void add_bus_effect ( int bus_idx, AudioEffect effect, int at_position=-1 )
String capture_get_device ( )
Array capture_get_device_list ( )
void capture_set_device ( String name )
AudioBusLayout generate_bus_layout ( ) const
int get_bus_channels ( int bus_idx ) const
AudioEffect get_bus_effect ( int bus_idx, int effect_idx )
int get_bus_effect_count ( int bus_idx )
AudioEffectInstance get_bus_effect_instance ( int bus_idx, int effect_idx, int channel=0 )
int get_bus_index ( String bus_name ) const
String get_bus_name ( int bus_idx ) const
float get_bus_peak_volume_left_db ( int bus_idx, int channel ) const
float get_bus_peak_volume_right_db ( int bus_idx, int channel ) const
String get_bus_send ( int bus_idx ) const
float get_bus_volume_db ( int bus_idx ) const
Array get_device_list ( )
float get_mix_rate ( ) const
float get_output_latency ( ) const
SpeakerMode get_speaker_mode ( ) const
float get_time_since_last_mix ( ) const
float get_time_to_next_mix ( ) const
bool is_bus_bypassing_effects ( int bus_idx ) const
bool is_bus_effect_enabled ( int bus_idx, int effect_idx ) const
bool is_bus_mute ( int bus_idx ) const
bool is_bus_solo ( int bus_idx ) const
void lock ( )
void move_bus ( int index, int to_index )
void remove_bus ( int index )
void remove_bus_effect ( int bus_idx, int effect_idx )
void set_bus_bypass_effects ( int bus_idx, bool enable )
void set_bus_effect_enabled ( int bus_idx, int effect_idx, bool enabled )
void set_bus_layout ( AudioBusLayout bus_layout )
void set_bus_mute ( int bus_idx, bool enable )
void set_bus_name ( int bus_idx, String name )
void set_bus_send ( int bus_idx, String send )
void set_bus_solo ( int bus_idx, bool enable )
void set_bus_volume_db ( int bus_idx, float volume_db )
void swap_bus_effects ( int bus_idx, int effect_idx, int by_effect_idx )
void unlock ( )

Signals

bus_layout_changed ( )

Emitted when the AudioBusLayout changes.

Enumerations

enum SpeakerMode:

  • SPEAKER_MODE_STEREO = 0 --- Two or fewer speakers were detected.
  • SPEAKER_SURROUND_31 = 1 --- A 3.1 channel surround setup was detected.
  • SPEAKER_SURROUND_51 = 2 --- A 5.1 channel surround setup was detected.
  • SPEAKER_SURROUND_71 = 3 --- A 7.1 channel surround setup was detected.

Property Descriptions

int bus_count

Default 1
Setter set_bus_count(value)
Getter get_bus_count()

Number of available audio buses.

String device

Default "Default"
Setter set_device(value)
Getter get_device()

Name of the current device for audio output (see get_device_list).

float global_rate_scale

Default 1.0
Setter set_global_rate_scale(value)
Getter get_global_rate_scale()

Scales the rate at which audio is played (i.e. setting it to 0.5 will make the audio be played twice as fast).

Method Descriptions

void add_bus ( int at_position=-1 )

Adds a bus at at_position.

void add_bus_effect ( int bus_idx, AudioEffect effect, int at_position=-1 )

Adds an AudioEffect effect to the bus bus_idx at at_position.

String capture_get_device ( )

Name of the current device for audio input (see capture_get_device_list).

Array capture_get_device_list ( )

Returns the names of all audio input devices detected on the system.

void capture_set_device ( String name )

Sets which audio input device is used for audio capture.

AudioBusLayout generate_bus_layout ( ) const

Generates an AudioBusLayout using the available buses and effects.

int get_bus_channels ( int bus_idx ) const

Returns the amount of channels of the bus at index bus_idx.

AudioEffect get_bus_effect ( int bus_idx, int effect_idx )

Returns the AudioEffect at position effect_idx in bus bus_idx.

int get_bus_effect_count ( int bus_idx )

Returns the number of effects on the bus at bus_idx.

AudioEffectInstance get_bus_effect_instance ( int bus_idx, int effect_idx, int channel=0 )

Returns the AudioEffectInstance assigned to the given bus and effect indices (and optionally channel).

int get_bus_index ( String bus_name ) const

Returns the index of the bus with the name bus_name.

String get_bus_name ( int bus_idx ) const

Returns the name of the bus with the index bus_idx.

float get_bus_peak_volume_left_db ( int bus_idx, int channel ) const

Returns the peak volume of the left speaker at bus index bus_idx and channel index channel.

float get_bus_peak_volume_right_db ( int bus_idx, int channel ) const

Returns the peak volume of the right speaker at bus index bus_idx and channel index channel.

String get_bus_send ( int bus_idx ) const

Returns the name of the bus that the bus at index bus_idx sends to.

float get_bus_volume_db ( int bus_idx ) const

Returns the volume of the bus at index bus_idx in dB.

Array get_device_list ( )

Returns the names of all audio devices detected on the system.

float get_mix_rate ( ) const

Returns the sample rate at the output of the AudioServer.

float get_output_latency ( ) const

Returns the audio driver's output latency.

SpeakerMode get_speaker_mode ( ) const

Returns the speaker configuration.

float get_time_since_last_mix ( ) const

Returns the relative time since the last mix occurred.

float get_time_to_next_mix ( ) const

Returns the relative time until the next mix occurs.

bool is_bus_bypassing_effects ( int bus_idx ) const

If true, the bus at index bus_idx is bypassing effects.

bool is_bus_effect_enabled ( int bus_idx, int effect_idx ) const

If true, the effect at index effect_idx on the bus at index bus_idx is enabled.

bool is_bus_mute ( int bus_idx ) const

If true, the bus at index bus_idx is muted.

bool is_bus_solo ( int bus_idx ) const

If true, the bus at index bus_idx is in solo mode.

void lock ( )

Locks the audio driver's main loop.

Note: Remember to unlock it afterwards.

void move_bus ( int index, int to_index )

Moves the bus from index index to index to_index.

void remove_bus ( int index )

Removes the bus at index index.

void remove_bus_effect ( int bus_idx, int effect_idx )

Removes the effect at index effect_idx from the bus at index bus_idx.

void set_bus_bypass_effects ( int bus_idx, bool enable )

If true, the bus at index bus_idx is bypassing effects.

void set_bus_effect_enabled ( int bus_idx, int effect_idx, bool enabled )

If true, the effect at index effect_idx on the bus at index bus_idx is enabled.

void set_bus_layout ( AudioBusLayout bus_layout )

Overwrites the currently used AudioBusLayout.

void set_bus_mute ( int bus_idx, bool enable )

If true, the bus at index bus_idx is muted.

void set_bus_name ( int bus_idx, String name )

Sets the name of the bus at index bus_idx to name.

void set_bus_send ( int bus_idx, String send )

Connects the output of the bus at bus_idx to the bus named send.

void set_bus_solo ( int bus_idx, bool enable )

If true, the bus at index bus_idx is in solo mode.

void set_bus_volume_db ( int bus_idx, float volume_db )

Sets the volume of the bus at index bus_idx to volume_db.

void swap_bus_effects ( int bus_idx, int effect_idx, int by_effect_idx )

Swaps the position of two effects in bus bus_idx.

void unlock ( )

Unlocks the audio driver's main loop. (After locking it, you should always unlock it.)

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_audioserver.html