Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

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

Так тоже не работает =(

Код:
var
   WaveIn: HWAVEIN;
    WaveHeader: PWAVEHDR;
    Stream: TMemoryStream;
  WaveFormat: TWaveFormatEx;


//start button

  WaveIn := 0;
  WaveHeader := nil;
  Stream := TMemoryStream.Create;
  // инициализация записи
  WaveFormat.wFormatTag := WAVE_FORMAT_PCM;
  WaveFormat.nChannels := 1;
  WaveFormat.nSamplesPerSec := 44100;
  WaveFormat.wBitsPerSample := 16;
  WaveFormat.nBlockAlign := WaveFormat.nChannels * (WaveFormat.wBitsPerSample div 8);
  WaveFormat.nAvgBytesPerSec := WaveFormat.nSamplesPerSec * WaveFormat.nBlockAlign;
  WaveFormat.cbSize := 0;
  waveInOpen(@WaveIn, WAVE_MAPPER, @WaveFormat, 0, 0, WAVE_FORMAT_DIRECT);
  // выделение памяти под буфер
  GetMem(WaveHeader, SizeOf(WAVEHDR));
  WaveHeader^.lpData := AllocMem(8192);
  WaveHeader^.dwBufferLength := 8192;
  WaveHeader^.dwBytesRecorded := 0;
  WaveHeader^.dwUser := 0;
  WaveHeader^.dwFlags := 0;
  WaveHeader^.dwLoops := 0;
  WaveHeader^.lpNext := nil;
  WaveHeader^.reserved := 0;
  // запись звука
  waveInPrepareHeader(WaveIn, WaveHeader, SizeOf(WAVEHDR));
  waveInAddBuffer(WaveIn, WaveHeader, SizeOf(WAVEHDR));
  waveInStart(WaveIn);


//stop button

waveInStop(WaveIn);
  waveInUnprepareHeader(WaveIn, WaveHeader, SizeOf(WAVEHDR));
  Stream.Write(WaveHeader^.lpData^, WaveHeader^.dwBytesRecorded);
  Stream.SaveToFile('sound.wav');
  FreeMem(WaveHeader^.lpData);
  FreeMem(WaveHeader);
  waveInClose(WaveIn);
 Stream.Free;

Последний раз редактировалось Trogov, 21.10.2023 в 11:36.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:18.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter