Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

Курс видеоуроков КРЭКЕРСТВО + ПРОГРАММИРОВАНИЕ 2017
(актуальность: июнь 2017)
Свежие инструменты, новые видеоуроки!

  • 400+ видеоуроков
  • 800 инструментов
  • 100+ свежих книг и статей

УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Запись с помощью MediaPlayer

Автор: Nick Hodges

Origin:
- Ори, джинн! Ори, с#ка!

Компонент Mediaplayer работает только с корректными звуковыми файлами и не работает с файлами нулевого размера. Нижеприведенная функция создаст звуковой файл с размером 1. Вариантная запись. Хотелось бы видеть лучшее решение, но пока такой вариант работает у меня без проблем.


 function CreateNewWave(NewFileName: string): Boolean;
 var
   DeviceID: Word;
   Return: LongInt;
   MciOpen: TMCI_Open_Parms;
   MciRecord: TMCI_Record_Parms;
   MciPlay: TMCI_Play_Parms;
   MciSave: TMCI_SaveParms;
   MCIResult: LongInt;
   Flags: Word;
   TempFileName: array[0..255] of char;
 begin
   MediaPlayer.Close;
   try
     StrPCopy(TempFileName, NewFilename);
 
     MciOpen.lpstrDeviceType := 'waveaudio';
     MciOpen.lpstrElementName := '';
     Flags := Mci_Open_Element or Mci_Open_Type;
     MCIResult := MciSendCommand(0, MCI_OPEN, Flags, LongInt(@MciOpen));
     DeviceID := MciOpen.wDeviceId;
 
     MciRecord.dwTo := 1;
     Flags := Mci_To or Mci_Wait;
     MCIResult := MciSendCommand(DeviceID, Mci_Record, Flags,
       LongInt(@MciRecord));
 
     mciPlay.dwFrom := 0;
     Flags := Mci_From or Mci_Wait;
     MciSendCommand(DeviceId, Mci_Play, Flags, LongInt(@MciPlay));
 
     mciSave.lpfileName := TempFilename.CString;
     Flags := MCI_Save_File or Mci_Wait;
     MCIResult := MciSendCommand(DeviceID, MCI_Save, Flags, LongInt(@MciSave));
 
     Result := MciSendCommand(DeviceID, Mci_Close, 0, LongInt(nil)) = 0;
   end;
 end;
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS