Componente Audio Recorder (Wave) — sgcAI | eSeGeCe

Audio Recorder (Wave)

TsgcAudioRecorderWave captura el micrófono a través de la API Wave de Windows y entrega el audio como un flujo en vivo en lugar de como un archivo. Tú controlas la frecuencia de muestreo, el número de canales y la profundidad de bits, que es lo que necesitan los escenarios de streaming y tiempo real.

TsgcAudioRecorderWave

Captura de micrófono en streaming. Un hilo de trabajo prepara y encola búferes de forma continua, mide el nivel de cada bloque y cierra un segmento tras un periodo de silencio configurable.

Clase del componente

TsgcAudioRecorderWave

Propósito

Captura de micrófono en streaming

Plataformas

Win32 y Win64

sgcAI es autónomo. Este componente se incluye dentro de sgcAI junto con el runtime sgcWebSockets Core sobre el que está construido, así que no hay ninguna licencia base que comprar.

Captura audio como flujo

Elige el formato de muestreo, fija los umbrales de silencio y arranca. El audio llega como un flujo, no como un archivo en disco.

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();

Propiedades y métodos principales

Los miembros que usarás más a menudo.

Formato en WaveOptions

SampleRate, Channels y BitsPerSample definen el formato de captura con precisión, para que puedas ajustarlo a lo que espere el modelo o el códec que viene después.

Umbrales en WaveOptions

LevelMin es el nivel RMS por debajo del cual un bloque cuenta como silencio, StopAfter es cuánto silencio cierra el segmento y WaitForAudio es el tiempo que se concede a cada búfer para llenarse.

Salida en streaming

El audio se entrega como un flujo mientras la captura está en marcha, de modo que puede reenviarse a un endpoint en tiempo real o codificarse al vuelo en lugar de esperar a que se cierre un archivo.

Sesión

Start inicia la captura y Stop la termina. El bucle de captura se ejecuta en su propio hilo de trabajo, así que el hilo de la interfaz nunca se bloquea.

Frente al grabador MCI

Usa este cuando necesites un formato de muestreo concreto o un flujo en vivo. Usa TsgcAudioRecorderMCI cuando te baste con un archivo WAV por intervención.

Medición de nivel

El nivel RMS se calcula por bloque a partir de las muestras de 16 bits, que es también con lo que alimentarías un vúmetro en la interfaz.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso de los componentes sgcAI.
Todos los componentes sgcAIConsulta la matriz completa de características de los 15 componentes.
Descargar prueba gratuitaCaptura audio exactamente en el formato que espera tu pipeline.
PreciosLicencias Single, Team y Site, código fuente completo, sin producto base necesario.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para empezar?

Descarga la prueba gratuita y transmite el audio del micrófono desde tu aplicación.