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.
Checking the stable version of the documentation...
AudioServer
Hérite de : Object
Interface de serveur pour l'accès audio de bas niveau.
Description
AudioServer est une interface bas-niveau du serveur pour l'accès audio. Il est chargé de créer des données échantillonnées (audio jouable) mais aussi la lecture par une interface orale.
Tutoriels
Propriétés
|
||
|
||
|
||
|
Méthodes
Signaux
bus_layout_changed() 🔗
Émis lorsqu'un bus audio est ajouté, supprimé ou déplacé.
bus_renamed(bus_index: int, old_name: StringName, new_name: StringName) 🔗
Émis lorsque le bus audio à l'index bus_index est renommé de old_name à new_name.
Énumérations
enum SpeakerMode: 🔗
SpeakerMode SPEAKER_MODE_STEREO = 0
Deux enceintes ou moins sont détectées.
SpeakerMode SPEAKER_SURROUND_31 = 1
Une configuration surround 3.1 a été détecté.
SpeakerMode SPEAKER_SURROUND_51 = 2
Une configuration surround 5.1 a été détecté.
SpeakerMode SPEAKER_SURROUND_71 = 3
Une configuration surround 7.1 a été détecté.
enum PlaybackType: 🔗
PlaybackType PLAYBACK_TYPE_DEFAULT = 0
Expérimental : Cette constante peut être changée ou retirée dans de futures versions.
La lecture sera considérée du type déclaré dans ProjectSettings.audio/general/default_playback_type.
PlaybackType PLAYBACK_TYPE_STREAM = 1
Expérimental : Cette constante peut être changée ou retirée dans de futures versions.
Forcer la lecture à considérée comme un flux.
PlaybackType PLAYBACK_TYPE_SAMPLE = 2
Expérimental : Cette constante peut être changée ou retirée dans de futures versions.
Forcer la lecture à être considérée comme un échantillon. Cela peut fournir une latence plus faible et une lecture plus stable (avec moins de risque de craquements audio), au coût d'avoir moins de flexibilité.
Note : Actuellement seulement supporté sur la plateforme web.
Note : Les AudioEffects ne sont pas pris en charge lorsque la lecture est considérée comme un échantillon.
PlaybackType PLAYBACK_TYPE_MAX = 3
Expérimental : Cette constante peut être changée ou retirée dans de futures versions.
Représente la taille de l'énumération PlaybackType.
Descriptions des propriétés
Nombre de bus audio disponibles.
String input_device = "Default" 🔗
Le nom du périphérique actuel pour l'entrée audio (voir get_input_device_list()). Sur les systèmes avec plusieurs entrées audio (comme l'audio analogique, USB et HDMI), ceci peut être utilisé pour sélectionner le périphérique d'entrée audio. La valeur "Default" enregistrera l'audio sur l'entrée audio par défaut du système. Si un nom de périphérique invalide est défini, la valeur sera remise sur "Default".
Note : ProjectSettings.audio/driver/enable_input doit valoir true pour que l'entrée audio fonctionne. Voir aussi la description de ce paramètre pour les avertissements liés aux autorisations et aux paramètres de confidentialité du système d'exploitation.
String output_device = "Default" 🔗
Le nom du périphérique actuel pour la sortie audio (voir get_output_device_list()). Sur les systèmes avec plusieurs sorties audio (tels que l'audio analogique, USB et HDMI), cela peut être utilisé pour sélectionner le périphérique de sortie de l'audio. La valeur "Default" jouera l'audio sur la sortie audio par défaut au niveau du système. Si un nom de périphérique invalide est défini, la valeur sera remise sur "Default".
float playback_speed_scale = 1.0 🔗
Redimensionne le taux auquel l'audio est joué (c.-à-d. le définir à 0.5 fera que l'audio soit joué à la moitié de sa vitesse). Voir aussi Engine.time_scale pour affecter la vitesse de simulation générale, qui est indépendante de playback_speed_scale.
Descriptions des méthodes
void add_bus(at_position: int = -1) 🔗
Ajoute un bus à la position at_position.
void add_bus_effect(bus_idx: int, effect: AudioEffect, at_position: int = -1) 🔗
Ajoute un effet AudioEffect au bus bus_idx à la position at_position.
AudioBusLayout generate_bus_layout() const 🔗
Génère un AudioBusLayout en utilisant les bus et effets disponibles.
int get_bus_channels(bus_idx: int) const 🔗
Renvoie le nombre de canaux du bus à l'index bus_idx.
AudioEffect get_bus_effect(bus_idx: int, effect_idx: int) 🔗
Renvoie l'AudioEffect en position effect_idx dans le bus bus_idx.
int get_bus_effect_count(bus_idx: int) 🔗
Renvoie le nombre d'effets pour le bus bus_idx.
AudioEffectInstance get_bus_effect_instance(bus_idx: int, effect_idx: int, channel: int = 0) 🔗
Renvoie l'AudioEffectInstance assignée au bus et aux indices de l'effet donnés (et le canal en option).
int get_bus_index(bus_name: StringName) const 🔗
Renvoie l'index du bus avec le nom bus_name. Renvoie -1 si aucun bus avec le nom spécifié n'existe.
String get_bus_name(bus_idx: int) const 🔗
Renvoie le nom du bus avec l'index bus_idx.
float get_bus_peak_volume_left_db(bus_idx: int, channel: int) const 🔗
Renvoie le pic de volume du haut-parleur gauche à l'index de bus bus_idx et l'index de canal channel.
float get_bus_peak_volume_right_db(bus_idx: int, channel: int) const 🔗
Renvoie le pic de volume du haut-parleur droit à l'index de bus bus_idx et l'index de canal channel.
StringName get_bus_send(bus_idx: int) const 🔗
Renvoie le nom du bus vers lequel le bus à l'index bus_idx envoie l'audio.
float get_bus_volume_db(bus_idx: int) const 🔗
Renvoie le volume du bus à l'index bus_idx en dB.
float get_bus_volume_linear(bus_idx: int) const 🔗
Renvoie le volume du bus à l'index bus_idx en tant que valeur linéaire.
Note : La valeur renvoyée est équivalente au résultat de @GlobalScope.db_to_linear() sur le résultat de get_bus_volume_db().
String get_driver_name() const 🔗
Renvoie le nom du pilote audio actuel. La valeur par défaut dépend généralement du système d'exploitation, mais peut être remplacée par l'argument de ligne de commande --audio-driver. --headless définit aussi automatiquement le pilote audio à Dummy. Voir aussi ProjectSettings.audio/driver/driver.
int get_input_buffer_length_frames() 🔗
Expérimental : Cette méthode peut être changée ou retirée dans de futures versions.
Renvoie la taille absolue du tampon d'entrée du microphone. Il s'agit d'un multiple de la latence audio et peut être utilisé pour estimer le taux minimum auquel les trames doivent être récupérées.
PackedStringArray get_input_device_list() 🔗
Renvoie les noms de tous les périphériques d'entrée audio détectés sur le système.
**Note : ** ProjectSettings.audio/driver/enable_input doit valoir true pour que l'entrée audio marche. Voir aussi la description du paramètre pour les avertissements liées aux autorisations et aux paramètres de confidentialité du système d'exploitation.
PackedVector2Array get_input_frames(frames: int) 🔗
Expérimental : Cette méthode peut être changée ou retirée dans de futures versions.
Renvoie un PackedVector2Array contenant exactement frames d'échantillons audio du buffer du microphone interne si disponible, sinon renvoie un PackedVector2Array vide.
Le buffer est rempli au taux de get_input_mix_rate() images par seconde lorsque set_input_device_active() a été définie avec succès à true.
Les échantillons sont des valeurs PCM flottantes entre -1 et 1.
int get_input_frames_available() 🔗
Expérimental : Cette méthode peut être changée ou retirée dans de futures versions.
Renvoie le nombre de trames disponibles à la lecture en utilisant get_input_frames().
float get_input_mix_rate() const 🔗
Renvoie la fréquence d'échantillonnage de l'entrée de l'AudioServer.
Renvoie le débit de sortie du AudioServer.
PackedStringArray get_output_device_list() 🔗
Renvoie les noms de tous les appareils de sortie audio détectés sur le système.
float get_output_latency() const 🔗
Renvoie la latence de sortie effective du pilote audio. Ceci est basé sur ProjectSettings.audio/driver/output_latency, mais la valeur de retour exacte diffère selon le système d'exploitation et le pilote audio.
Note : Cela peut être coûteux, il n'est pas recommandé d'appeler get_output_latency() à chaque trame.
SpeakerMode get_speaker_mode() const 🔗
Renvoie la configuration du haut-parleur.
float get_time_since_last_mix() const 🔗
Returns the relative time since the last mix occurred, in seconds.
float get_time_to_next_mix() const 🔗
Returns the relative time until the next mix occurs, in seconds.
bool is_bus_bypassing_effects(bus_idx: int) const 🔗
Si true, le bus à l'index bus_idx ignore les effets.
bool is_bus_effect_enabled(bus_idx: int, effect_idx: int) const 🔗
Si true, l'effet à l'index effect_idx sur le bus à l'index bus_idx est activé.
bool is_bus_mute(bus_idx: int) const 🔗
Si true, le bus à la position bus_idx est muet.
bool is_bus_solo(bus_idx: int) const 🔗
Si true, le bus à l'index bus_idx est en mode solo.
bool is_stream_registered_as_sample(stream: AudioStream) 🔗
Expérimental : Cette méthode peut être changée ou retirée dans de futures versions.
Si true, le flux est enregistré en tant qu'échantillon. Le moteur n'aura pas à l'enregistrer avant de jouer l'échantillon.
Si false, le flux devra être enregistré avant de le jouer. Pour éviter les pics de lag, enregistrez le flux comme échantillon avec register_stream_as_sample().
void lock() 🔗
Verrouille la boucle principale du pilote audio.
Note : Il est important de la déverrouiller après utilisation.
void move_bus(index: int, to_index: int) 🔗
Déplace le bus de la position index à to_index.
void register_stream_as_sample(stream: AudioStream) 🔗
Expérimental : Cette méthode peut être changée ou retirée dans de futures versions.
Force l'enregistrement d'un flux en tant qu'échantillon.
Note : Des pics de lag peuvent survenir lors de l'appel de cette méthode, en particulier sur les compilation en single-thread. Il est suggéré d'appeler cette méthode pendant le chargement des ressources, où le pic de lag pourrait être masqué, au lieu d'enregistrer l'échantillon juste avant qu'il ne soit joué.
Retire le bus à l'index index.
void remove_bus_effect(bus_idx: int, effect_idx: int) 🔗
Retire l'effet à l'index effect_idx du bus à l'index bus_idx.
void set_bus_bypass_effects(bus_idx: int, enable: bool) 🔗
Si true, le bus à l'index bus_idx ignore les effets.
void set_bus_effect_enabled(bus_idx: int, effect_idx: int, enabled: bool) 🔗
Si true, l'effet à l'index effect_idx sur le bus à l'index bus_idx est activé.
void set_bus_layout(bus_layout: AudioBusLayout) 🔗
Remplace le AudioBusLayout actuellement utilisé.
void set_bus_mute(bus_idx: int, enable: bool) 🔗
Si true, le bus à la position bus_idx est muet.
void set_bus_name(bus_idx: int, name: String) 🔗
Définit le nom du bus à l'index bus_idx en name.
void set_bus_send(bus_idx: int, send: StringName) 🔗
Connecte la sortie du bus à l'index bus_idx au bus nommé send.
void set_bus_solo(bus_idx: int, enable: bool) 🔗
Si true, le bus à l'index bus_idx est en mode solo.
void set_bus_volume_db(bus_idx: int, volume_db: float) 🔗
Définit le volume du bus à l'index bus_idx à volume_db.
void set_bus_volume_linear(bus_idx: int, volume_linear: float) 🔗
Définit le volume en tant que valeur linéaire du bus d'index bus_idx à volume_linear.
Note : L'utilisation de cette méthode équivaut à appeler set_bus_volume_db() avec le résultat de @GlobalScope.linear_to_db() sur une valeur.
void set_enable_tagging_used_audio_streams(enable: bool) 🔗
S'il est défini à true, toutes les instances de AudioStreamPlayback appelleront AudioStreamPlayback._tag_used_streams() à chaque étape de mixage.
Note : Ceci est activé par défaut dans l'éditeur, car il est utilisé par les plugins d'éditeur pour les prévisualisations des flux audio.
Error set_input_device_active(active: bool) 🔗
Expérimental : Cette méthode peut être changée ou retirée dans de futures versions.
Si active vaut true, démarre le flux d'entrée du microphone spécifié par input_device ou renvoie une erreur s'il a échoué.
Si active vaut false, arrête le flux d'entrée s'il est en cours d'exécution.
void swap_bus_effects(bus_idx: int, effect_idx: int, by_effect_idx: int) 🔗
Échange la position de deux effets dans le bus d'index bus_idx.
void unlock() 🔗
Déverrouille la boucle principale du pilote audio. (Après le verrouillage, vous devriez toujours le déverrouiller.)