Реферат: Обзор элементов языка программирования
9
граф, предназначенный для воспроизведения файлов этого типа (WAV, AVI, MP2, MPG и т.д.).
2.2 Описание программ комплекса
После построения графа, DirectShow готов к воспроизведению. Для управления потоком данных через граф обработки предназначен интерфейс IMediaControl – он имеет методы Run, Pause и Stop.
Пример:
uses
... DShow, ActiveX,ComObj;
var
MyGraphBuilder : IGraphBuilder;
MyMediaControl : IMediaControl;
begin
CoInitialize(nil);
{ получаем интерфейс IGraphBuilder}
CoCreateInstance(CLSID_FilterGraph,nil,CLSCTX_INPROC_SERVER,IID_I GraphBuilder,MyGraphBuilder);
{вызываем RenderFile - граф фильтров строится автоматически}
MyGraphBuilder.RenderFile(cool.avi',nil);
{ получаем интерфейс ImediaControl}
MyGraphBuilder.QueryInterface(IID_IMediaControl,MyMediaControl);
{ Примечание - MyMediaControl - переменная типа IMediaControl}
{проигрываем видео}
MyMediaControl.Run;
{ждем пока пользователь не нажмет ОК (видео воспроизводится в отдельном ( thread ) потоке)}
ShowMessage(' Нажмите O К ');
CoUninitialize;
end;
Интерфейс IVideoWindow содержит методы для управления заголовком, стилем, местоположением и размерами окошка в котором проигрывается видео.
Давайте попробуем переделать наш пример так, чтобы видео выводилось не в отдельном окошке, а, скажем на компоненте TPanel, расположенном в нашей форме. Добавьте на форму компонент TPanel, пусть он называется Panel1.
10
uses
... DShow, ActiveX,ComObj;