AudioEffectCapture
Hérite de : AudioEffect < Resource < RefCounted < Object
Capture l'audio depuis un bus audio en temps réel.
Description
AudioEffectCapture est un AudioEffect qui copie toutes les trames audio du bus d'effet audio joint dans son buffer circulaire interne.
Le code d'application devrait consommer ces trames audio du buffer circulaire de l'anneau en utilisant get_buffer() et les traiter au besoin, par exemple pour capturer des données d'un AudioStreamMicrophone, implémenter des effets définis par l'application, ou transmettre de l'audio sur le réseau. Lors de la capture de données audio à partir d'un microphone, le format des échantillons sera en stéréo 32 bits à point flottant PCM.
Contrairement à AudioEffectRecord, cet effet ne renvoie que les échantillons audio bruts au lieu de les encoder dans un AudioStream.
Tutoriels
Propriétés
|
Méthodes
can_get_buffer(frames: int) const |
|
void |
|
get_buffer(frames: int) |
|
get_buffer_length_frames() const |
|
get_discarded_frames() const |
|
get_frames_available() const |
|
get_pushed_frames() const |
Descriptions des propriétés
Longueur du buffer circulaire interne, en secondes. Définir la longueur du buffer n'aura aucun effet s'il est déjà initialisé.
Descriptions des méthodes
bool can_get_buffer(frames: int) const 🔗
Renvoie true si au moins frames trames audio sont disponibles dans le buffer circulaire.
void clear_buffer() 🔗
Efface le buffer circulaire interne.
Note : Appeler ceci lors d'une capture peut causer la perte d'échantillons ce qui provoque du claquement dans la lecture.
PackedVector2Array get_buffer(frames: int) 🔗
Obtient les frames prochaines trames d'échantillonnage audio depuis le buffer circulaire interne.
Renvoie un PackedVector2Array contenant exactement frames échantillons audio si disponible, ou un PackedVector2Array vide s'il n'y a pas assez de données disponibles.
Les échantillons sont des PCM flottants signés entre -1 et 1. Vous devrez les mettre à l'échelle si vous voulez les utilisez comme échantillons d'entiers 8 ou 16 bits. (v = 0x7fff * samples[0].x)
int get_buffer_length_frames() const 🔗
Renvoie la taille totale du buffer circulaire interne en trames.
int get_discarded_frames() const 🔗
Renvoie le nombre de trames audio perdue dans le bus audio parce que son buffer est plein.
int get_frames_available() const 🔗
Renvoie le nombre de trames disponibles à lire en utilisant get_buffer().
int get_pushed_frames() const 🔗
Renvoie le nombre de trames audio insérées depuis le bus audio.