Забыл сказать что касперски спрашивает можно ли делать запись с мика и я ему разрешаю... но ничего.. =(
есть ещё такой пример
Код:
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; один бог знает... моя система его не видет и в интернете о нём ни слова...