Показать сообщение отдельно
  #3  
Старый 21.10.2023, 11:47
Trogov Trogov вне форума
Прохожий
 
Регистрация: 10.05.2023
Сообщения: 3
Версия Delphi: Delphi XE 10
Репутация: 10
По умолчанию

Забыл сказать что касперски спрашивает можно ли делать запись с мика и я ему разрешаю... но ничего.. =(

есть ещё такой пример

Код:
uses
  HWaveIn, WaveIO;

var
  WaveIn: THWaveIn;
  WaveFile: TWaveFile;
  WaveFormat: TWaveFormatEx;
  Buffer: Pointer;
  BufferSize: Cardinal;
begin
  // Создаем и настраиваем компонент HWaveIn
  WaveIn := THWaveIn.Create(nil);
  WaveIn.DeviceID := 0; // Используем первое устройство записи
  WaveIn.WaveFormat.FormatTag := WAVE_FORMAT_PCM;
  WaveIn.WaveFormat.Channels := 1;
  WaveIn.WaveFormat.SamplesPerSec := 48000;
  WaveIn.WaveFormat.BitsPerSample := 16;
  WaveIn.WaveFormat.BlockAlign := WaveIn.WaveFormat.Channels * (WaveIn.WaveFormat.BitsPerSample div 8);
  WaveIn.WaveFormat.BytesPerSec := WaveIn.WaveFormat.SamplesPerSec * WaveIn.WaveFormat.BlockAlign;
  WaveIn.BufferSize := 1024;
  WaveIn.Open;

  // Создаем WAV-файл для записи
  WaveFormat := WaveIn.WaveFormat;
  WaveFile := TWaveFile.Create('C:\MyRecord.wav', WaveFormat);

  // Запускаем запись
  WaveIn.Start;

  // Записываем данные в файл
  while WaveIn.GetBuffer(Buffer, BufferSize) = 0 do
  begin
    WaveFile.WriteData(Buffer, BufferSize);
  end;

  // Останавливаем запись
  WaveIn.Stop;

  // Освобождаем ресурсы
  WaveFile.Free;
  WaveIn.Free;
end.


но что за компонент такой TWaveFile; один бог знает... моя система его не видет и в интернете о нём ни слова...
Ответить с цитированием