Composant enregistreur audio Wave — sgcAI | eSeGeCe

Enregistreur audio (Wave)

TsgcAudioRecorderWave capture le micro via l'API Wave de Windows et fournit l'audio sous forme de flux en direct plutôt que de fichier. Tu contrôles la fréquence d'échantillonnage, le nombre de canaux et la profondeur de bits, ce dont les scénarios de streaming et de temps réel ont besoin.

TsgcAudioRecorderWave

Capture micro en streaming. Un worker prépare et met en file les tampons en continu, mesure le niveau de chaque bloc et ferme un segment après une période de silence configurable.

Classe du composant

TsgcAudioRecorderWave

Rôle

Capture micro en streaming

Plateformes

Win32 et Win64

sgcAI est autonome. Ce composant est livré dans sgcAI avec le runtime sgcWebSockets Core sur lequel il repose, il n'y a donc aucune licence de base à acheter.

Capturer l'audio sous forme de flux

Choisis le format d'échantillonnage, règle les seuils de silence, démarre. L'audio arrive sous forme de flux, pas de fichier sur le disque.

uses
  sgcAI, sgcAI_AudioRecorder_Wave;

var
  oRecorder: TsgcAudioRecorderWave;
begin
  oRecorder := TsgcAudioRecorderWave.Create(nil);
  oRecorder.WaveOptions.SampleRate    := 16000;
  oRecorder.WaveOptions.Channels      := 1;
  oRecorder.WaveOptions.BitsPerSample := 16;

  // Silence detection on the measured block level.
  oRecorder.WaveOptions.LevelMin     := 300;
  oRecorder.WaveOptions.StopAfter    := 1200;
  oRecorder.WaveOptions.WaitForAudio := 100;

  oRecorder.Start;   // Stop ends capture
end;
// includes: sgcAI.hpp, sgcAI_AudioRecorder_Wave.hpp

TsgcAudioRecorderWave *oRecorder = new TsgcAudioRecorderWave(NULL);
oRecorder->WaveOptions->SampleRate    = 16000;
oRecorder->WaveOptions->Channels      = 1;
oRecorder->WaveOptions->BitsPerSample = 16;

oRecorder->WaveOptions->LevelMin  = 300;
oRecorder->WaveOptions->StopAfter = 1200;

oRecorder->Start();

Propriétés et méthodes clés

Les membres que tu utilises le plus souvent.

Format WaveOptions

SampleRate, Channels et BitsPerSample définissent le format de capture au plus près, pour coller exactement à ce qu'attend le modèle ou le codec en aval.

Seuils WaveOptions

LevelMin est le niveau RMS sous lequel un bloc compte comme du silence, StopAfter indique combien de temps ce silence ferme le segment, et WaitForAudio le temps laissé à chaque tampon pour se remplir.

Sortie en flux

L'audio est fourni sous forme de flux pendant la capture, il peut donc être transmis à un endpoint temps réel ou encodé à la volée au lieu d'attendre la fermeture d'un fichier.

Session

Start lance la capture et Stop l'arrête. La boucle de capture tourne sur son propre worker, le thread d'interface n'est donc jamais bloqué.

Comparé à l'enregistreur MCI

Utilise celui-ci quand tu as besoin d'un format d'échantillonnage précis ou d'un flux en direct. Utilise TsgcAudioRecorderMCI quand un fichier WAV par énoncé suffit.

Mesure de niveau

Le niveau RMS est calculé par bloc à partir des échantillons 16 bits, c'est aussi ce qui alimenterait un vumètre dans l'interface.

Pour aller plus loin

Aide en ligneRéférence complète de l'API et guide d'utilisation des composants sgcAI.
Tous les composants sgcAIParcours la matrice complète des fonctionnalités des 15 composants.
Télécharger l'essai gratuitCapture l'audio exactement dans le format qu'attend ta chaîne de traitement.
TarifsLicences Single, Team et Site, code source complet, aucun produit de base requis.
Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Prêt à te lancer ?

Télécharge l'essai gratuit et diffuse l'audio du micro depuis ton application.