Komponent Wave Audio Recorder — sgcAI | eSeGeCe

Audio Recorder (Wave)

TsgcAudioRecorderWave nagrywa z mikrofonu przez API Windows Wave i dostarcza dźwięk jako strumień na żywo, a nie jako plik. Kontrolujesz częstotliwość próbkowania, liczbę kanałów i głębię bitową, czyli dokładnie to, czego wymagają scenariusze strumieniowe i czasu rzeczywistego.

TsgcAudioRecorderWave

Strumieniowe nagrywanie z mikrofonu. Wątek roboczy nieprzerwanie przygotowuje i kolejkuje bufory, mierzy poziom każdego bloku i zamyka segment po konfigurowalnym okresie ciszy.

Klasa komponentu

TsgcAudioRecorderWave

Przeznaczenie

Strumieniowe nagrywanie z mikrofonu

Platformy

Win32 i Win64

sgcAI jest samowystarczalny. Ten komponent jest dostarczany w sgcAI razem ze środowiskiem uruchomieniowym sgcWebSockets Core, na którym jest zbudowany, więc nie ma licencji bazowej do kupienia.

Nagrywaj dźwięk jako strumień

Wybierz format próbkowania, ustaw progi ciszy, uruchom nagrywanie. Dźwięk przychodzi jako strumień, a nie plik na dysku.

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

Kluczowe właściwości i metody

Składowe, po które sięgasz najczęściej.

Format w WaveOptions

SampleRate, Channels i BitsPerSample ustawiają format nagrania dokładnie, więc możesz dopasować go do tego, czego oczekuje model albo kodek na dalszym etapie.

Bramkowanie w WaveOptions

LevelMin to poziom RMS, poniżej którego blok liczy się jako cisza, StopAfter określa, po jakim czasie ta cisza zamyka segment, a WaitForAudio mówi, ile czasu ma na zapełnienie każdy bufor.

Wyjście strumieniowe

Dźwięk jest dostarczany jako strumień w trakcie nagrywania, więc można go przekazać do punktu końcowego czasu rzeczywistego albo zakodować w locie, zamiast czekać na zamknięcie pliku.

Sesja

Start rozpoczyna nagrywanie, a Stop je kończy. Pętla nagrywania działa we własnym wątku roboczym, więc wątek interfejsu nigdy nie jest blokowany.

W porównaniu z rejestratorem MCI

Użyj tego, gdy potrzebujesz konkretnego formatu próbkowania albo strumienia na żywo. Użyj TsgcAudioRecorderMCI, gdy wystarczy plik WAV na każdą wypowiedź.

Pomiar poziomu

Poziom RMS jest liczony dla każdego bloku z 16-bitowych próbek, czyli dokładnie z tego, czym sterowałbyś wskaźnikiem poziomu w interfejsie.

Poznawaj dalej

Pomoc onlinePełna dokumentacja API i przewodnik użytkowania komponentów sgcAI.
Wszystkie komponenty sgcAIPrzejrzyj pełną matrycę funkcji wszystkich 15 komponentów.
Pobierz bezpłatną wersję próbnąNagrywaj dźwięk dokładnie w formacie, jakiego oczekuje twój potok przetwarzania.
CennikLicencje Single, Team i Site, pełny kod źródłowy, bez wymaganego produktu bazowego.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Gotowy, aby zacząć?

Pobierz bezpłatną wersję próbną i strumieniuj dźwięk z mikrofonu ze swojej aplikacji.