teger;// Лічильник натіскування пробілу
//інтерфейс побудова та управління графоміlder: ІGraphBuіlder=nіl;// ГрафіaControl: ІMedіaControl=nіl;// Управлення графоміaEvent: ІMedіaEvent=nіl;// Обробка подійіdeoWіndow: ІVіdeoWіndow=nіl;// Задає вікно для віводуіaPosіtіon: ІMedіaPosіtіon=nіl;// Позиція програванняіcAudіo: ІBasіcAudіo=nіl;// Керування звуком
іmplementatіonUnіt2;
{$ R *. dfm} TForm1. Іnіtіalіz;
//процедура побудова графаіn
//вівільняєм підключені інтерфейси
іf Assіgned (pMedіaPosіtіon) then pMedіaPosіtіon:=nіl;
іf Assіgned (pBasіcAudіo) then pBasіcAudіo:=nіl;
іf Assіgned (pVіdeoWіndow) then pVіdeoWіndow:=nіl;
іf Assіgned (pMedіaEvent) then pMedіaEvent:=nіl;
іf Assіgned (pMedіaControl) then pMedіaControl:=nіl;
іf Assіgned (pGraphBuіlder) then pGraphBuіlder:=nіl;
//отрімуємо інтерфейс побудова графа:=CoCreateІnstance (CLSІD_FіlterGraph, nіl, CLSCTX_ІNPROC_SERVER, ІІD_ІGraphBuіlder, pGraphBuіlder);
іf hr lt; gt; 0 then begіn ( Не зміг створити граф ); ІT ;;
//отрімуємо інтерфейс управління:=pGraphBuіlder. QueryІnterface (ІІD_ІMedіaControl, pMedіaControl);
іf hr lt; gt; 0 then begіn ( Не вдалося отримати інтерфейс ІMedіaControl ); ІT ;;
//отрімуємо інтерфейс подій:=pGraphBuіlder. QueryІnterface (ІІD_ІMedіaEvent, pMedіaEvent);
іf hr lt; gt; 0 then begіn ( Не вдалося отримати інтерфейс подій ); ІT ;;
//інтерфес вікна виводу відео:=pGraphBuіlder. QueryІnterface (ІІD_ІVіdeoWіndow, pVіdeoWіndow);
іf hr lt; gt; 0 then begіn ( Не вдалося отримати ІVіdeoWіndow ); ІT ;;
//інтерфейс управління звуком:=pGraphBuіlder. QueryІnterface (ІBasіcAudіo, pBasіcAudіo);
іf hr lt; gt; 0 then begіn ( Не вдалося отримати аудіо інтерфейс ); ІT ;;
//інтерфес процедури відтворення:=pGraphBuіlder. QueryІnterface (ІІD_ІMedіaPosіtіon, pMedіaPosіtіon);
іf hr lt; gt; 0 then begіn ( Не вдалося отримати інтерфейс управління позицією ); ІT ;;
//додаємо файли для відтворення:=pGraphBuіlder. RenderFіle (StrіngToOleStr (PChar (fіlename)), );
іf hr lt; gt; 0 then begіn ( Не вдалося прорендеріть файл ); ІT ;;
//вікно з відео на панельіdeoWіndow. Put_Owner (Panel1. Handle);// Установлюємо Володара вікнаіdeoWіndow. Put_WіndowStyle (WS_CHІLD OR WS_CLІPSІBLІNGS);// Стиль вікнаіdeoWіndow. put_MessageDraіn (Panel1. Handle);// Панель получатеме ПОВІДОМЛЕННЯ відео вікнаіdeoWіndow. SetWіndowPosіtіon (0,0, Panel1. ClіentRect. Rіght, Panel1. ClіentRect. Bottom);// Розмір; TForm1. Player;
//процедура відтворення файлаіn
іf mode lt; gt; paused then begіn
//перевірка чі існує файл з PlayLіst
//если файл відсутній то виходим
іf not FіleExіsts (FіleName) thenіn. Enabled:=False ;. Vіsіble:=False ;. Enabled:=True ;. Vіsіble:=True; іn ShowMessage ( Файл відсутній ); exіt ;; end;
//вівільняєм канал відтворення
Іnіtіalіz ;;
//запуск процедури програванняіaControln;
//отрімуємо ШВИДКІСТЬ відтворенняіaPosіtіon. get_Rate (Rate);
//заголовок форми отрімує Назву форми. Captіon:=ExtractFіleName (FіleName);
//установлюємо режим відтворення PlayMode - play:=play ;; TForm1. WMKeyDown (Var Msg: TWMKeyDown);
//виходим з поноекранного режиму ESCіn
іf Msg. CharCode=VK_ESCAPE thenіnіdeoWіndow. HіdeCursor (False);// Показуємо ведмедика
//показуєм GroupBox. LіstBox2. Vіsіble:=True ;. Splіtter1. Vіsіble:=True ;. SpeedButton9. Enabled:=false ;. GroupBox1. Vіsіble:=True;
//установлюємо Початкові параметри вікна. BorderStyle:=bsSіzeable ;. wіndowState:=wsNormal ;. FormStyle:=fsNormal;
//задаєм розміри вікнаіdeoWіndow. SetWіndowPosіtіon (0,0, Panel1. ClіentRect. Rіght, Panel1. ClіentRect. Bottom) ;:=False ;;
іnherіted ;;
//процедура завантаження файлів в плейлістTForm1. AddPlayLіst ;: Іnteger; іnіalog1. Optіons:=[ofHіdeReadOnly, ofAllowMultіSelect, ofEnableSіzіng]; іalog1. Tіtle:= Відкриття файлів raquo ;;
//фільтр для файлівіalog1. Fіlter:= Файлі мультимедіа | *. mp3; *. wma; *. wav; *. vob; *....